在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5/ angularjs使用&綁定時(shí),調(diào)不到controller上的函數(shù)?

angularjs使用&綁定時(shí),調(diào)不到controller上的函數(shù)?

我有一個(gè)angular.js指令如下,指令的onChange屬性使用了&綁定策略:

// 指令定義
function TestDirective(){
    return {
        template:"<div>hello</div>",
        scope:{
            "onChange":"&",
        },
        link:function(){ onChange() } // 執(zhí)行傳入的回調(diào)函數(shù)
    }
}

使用指令時(shí),當(dāng)我將回調(diào)函數(shù)放到Scope上時(shí),是可以成功調(diào)到的:

<test on-change="doSomething()"></test>

但是當(dāng)我將回調(diào)函數(shù)放在Controller上時(shí),卻調(diào)不到:

<test on-change="$ctrl.doSomething()"></test>

這是為什么?

angularjs 官方文檔有講到&綁定策略,但是沒有找到為什么"將回調(diào)函數(shù)放在controller上調(diào)用不成功"的原因

回答
編輯回答
青瓷

框架這樣規(guī)定的,你定義TestDirective時(shí)不也是吧onChange做為scope的屬性,所以“&綁定”時(shí)都是通過scope的。

2018年4月5日 14:19