【发布时间】:2013-04-05 04:38:50
【问题描述】:
请参考这个小提琴的问题。 http://jsfiddle.net/AQR55/
1) 为什么附加到隔离作用域属性(双向绑定到父属性)的手表不会在更改父作用域属性时触发。
在小提琴中,在更改绑定的父范围属性时,没有触发下面提到的手表。
$scope.$watch('acts', function(neww ,old){
console.log(neww)
})
2)ng-click="addaction()" addaction="addaction()"。这段代码可以以更优雅的方式放置吗?因为,要在隔离范围内执行操作,似乎我们需要设置双向绑定和附加到 ng-click。
3) 我可以在隔离范围内声明方法,如下所示?如果我这样做,我会收到 .js 错误。
<isolate-scope-creating-cmp ng-click="isolateCmpClickHandler()"></isolate-scope-creating-cmp>
scope:{
isolateCmpClickHandler:function(){
//If i do like this, I'm getting .js error
}
}
【问题讨论】:
-
为什么要用第二点?
-
我想为按钮设置事件处理程序。如第三点所述,由于我无法在隔离范围内设置单击处理程序,因此我必须将父范围中定义的函数之一设为单击处理程序。为此,我使用“&”来评估父作用域中的
addaction(),并且我使用该父作用域评估的属性作为使用“ng-click”的单击处理程序。如果我删除addaction="addaction()"ng-click不起作用。您为问题号更新的小提琴。 1 没有触发按钮的点击按钮。请查看萤火虫。
标签: angularjs