我想在范围选项中使用 &attr 以便向外部 Controller 公开 API。
这是我目前使用的方式:example
问题是我只能在对象内部传递参数,这会强制函数绑定(bind)具有一个特定的键(在链接示例中,hideDialog(test)
内的test
询问 code> 是因为我需要它作为调用 close({'test':'Letho'})
) 的关键。
有什么办法可以在绑定(bind)时省略按键吗?这样我就可以直接使用:
<my-dialog ng-hide="dialogIsHidden" on-close="hideDialog">
Check out the contents, {{name}}!
</my-dialog>
和
<a href class="close" ng-click="close('Letho')">×</a>
谢谢。
最佳答案
指令用法:
<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>
关于javascript - 具有隔离范围的 AngularJS 指令 : passing params in a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24054946/