Angularjs 数据绑定在指令中的事件中不起作用
我无法使数据绑定在此指令中工作。在事件处理程序中更改变量时,变量没有正确绑定 我做错了什么?>Angularjs 数据绑定在指令中的事件中不起作用,angularjs,angular-directive,Angularjs,Angular Directive,我无法使数据绑定在此指令中工作。在事件处理程序中更改变量时,变量没有正确绑定 我做错了什么?> var myApp=angular.module('myApp',[]) .指令('inputTest',函数(){ 返回{ 限制:'E', 模板:'\ \ 子作用域:{{myValue}}\ ', 范围:{ myValue:“=”, }, 链接:函数(范围、元素、属性){ $(元素)。在('单击')上,函数(e){ 警报(“c”); scope.myValue='单击'; }); scope.myV
var myApp=angular.module('myApp',[])
.指令('inputTest',函数(){
返回{
限制:'E',
模板:'\
\
子作用域:{{myValue}}\
',
范围:{
myValue:“=”,
},
链接:函数(范围、元素、属性){
$(元素)。在('单击')上,函数(e){
警报(“c”);
scope.myValue='单击';
});
scope.myValue='未单击';
},
};
})
函数MyCtrl($scope){
$scope.myValue='parent value';
}
HTML
父作用域:{{myValue}
$scope.$apply()
myValue
放深一层:
$scope.data.myValue = 'parent value';
以及:
浏览器控制台中有错误吗?没有,检查fiddle…Thx,行
scope.myValue='notclicked'代码>实际上可以工作,只有事件处理程序中的一个不能工作。您是否确实将$apply()
调用放入了事件处理程序中?工作小提琴:不,我没有笑。但我不明白为什么它在事件处理程序外部工作,而不是在内部…$apply()
告诉Angular重新计算监视的表达式,并在其中任何表达式发生更改时采取措施。Angular的事件(例如,ng单击
)调用发动机罩下的$apply()
。“外部”事件必须手动执行。
<div ng-controller="MyCtrl">parent scope: {{myValue}}
<input-test my-value="myValue"></input-test>
</div>
$scope.data.myValue = 'parent value';
<input-test my-value="data.myValue"></input-test>