存在功能我有以下范围的指令:AngularJS检查,如果在指令
scope: {
copyObject: '&',
deleteObject: '&'
}
现在,我已经在我的模板相应的按钮,看起来像这样:
<button ng-click="copyObject()">Copy</button>
然而,如果没有将功能应用于copy-object
,我想隐藏该按钮,例如:
<!-- Should show the copy button -->
<my-directive copy-object="copyObject()"></my-directive>
<!-- Should not show the copy button -->
<my-directive></my-directive>
所以我申请以下到我的模板:
<button ng-click="copyObject()" ng-if="copyObject">Copy</button>
但是,这似乎并没有工作,如果我检查真正的隔离范围的指令,我注意到,即使不输入的属性,功能仍然存在,所以按钮始终可见。
是否可以检测功能是否绑定到copyObject()
?这是一个很好的做法吗?我不确定指令是否应该知道绑定函数,或者是否存在某种范围访问冲突?
示例:http://jsfiddle.net/azchpo5q/(第二个按钮不应该是可见的,因为没有绑定的动作)。
的点击是没有问题的(即已经与支架作品),但我想隐藏按钮,如果没有函数被绑定到它。我添加了一个小提琴:http://jsfiddle.net/azchpo5q/第二个按钮不应该是可见的,因为它没有'copy-object'属性。 – g00glen00b 2014-10-29 10:53:50
我找到了答案:http://stackoverflow.com/questions/21935099/how-to-check-if-a-method-argument-of-a-directive-is-specified-in-angularjs(我也投票给关闭作为副本) – g00glen00b 2014-10-29 11:03:17
Thx g00glen00b,你的答案解决了我的问题! – SathOkh 2016-11-08 11:25:30