我想在scope选项中使用& attr,以便为外部控制器公开API。
这是我目前使用的方式:example
问题是我只能在对象内部传递params,这会强制函数绑定有一个特定的键(在链接示例中,test
内部hideDialog(test)
被问到,因为我需要它键入close({'test':'Letho'})
}。
绑定时是否有任何方法可以省略密钥?所以我可以直接使用:
<my-dialog ng-hide="dialogIsHidden" on-close="hideDialog">
Check out the contents, {{name}}!
</my-dialog>
和
<a href class="close" ng-click="close('Letho')">×</a>
感谢。
答案 0 :(得分:2)
指令用法:
<my-dialog ng-hide="dialogIsHidden" on-close="hideDialog">
指令:
scope: {
'onClose': '&'
},
templateUrl: 'my-dialog-close.html',
link: function (scope) {
scope.close = function (value) {
var expressionHandler = scope.onClose();
expressionHandler(value);
};
}
指令模板:
<a href class="close" ng-click="close('Letho')">×</a>