我对使用 AngularJS 相当陌生,我想做的是创建一个指令并从其中的父作用域调用函数。我能够完成此任务,但我似乎无法弄清楚如何通过表达式将数据从隔离范围传递到父范围。 Angular 开发者指南中对此的解释有点令人困惑。
该指令:
app.directive('myDir', function() {
return {
restrict: 'E',
template: '<div ng-click="parentFunc(someValue)"><div>',
scope: {
parentProp: '=property',
parentFunc: '&func'
},
link: function(scope, element, attrs) {
}
}
});
标记:
<my-dir prop="foo" func="bar(someValue)"></my-dir>
控制器:
app.controller('TstCtrl', function($scope) {
$scope.foo = 'test';
$scope.bar = function(value) {
console.log(value);
};
});
先谢谢您的帮助!
可能还有其他方法可以做到这一点,但请参阅这把小提琴 http://jsfiddle.net/CvzEk/1/您将使用传递给您的相同参数名称将对象传递给函数func
属性。
link: function(scope, element, attrs) {
scope.parentFunc({someValue:'testing'});
}
所以在这种情况下,自从你打电话以来bar(someValue)
在你的func
您想要传递一个对象的属性someValue
在你的链接功能中。你正在呼唤parentFunc
因为那就是&func
链接到您的隔离范围内。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)