angularjs – 如何从作为可重用组件的指令公开一个公共API?
发布时间:2020-12-17 08:41:34 所属栏目:安全 来源:网络整理
导读:有一个角度的指令是一个可重用组件,最好的做法是公开一个可以从控制器访问的公共API? 因此,当有多个组件实例时,您可以从控制器访问 angular.directive('extLabel',function { return { scope: { name: '@',configObj: '=' },link: function(scope,iEleme
有一个角度的指令是一个可重用组件,最好的做法是公开一个可以从控制器访问的公共API?
因此,当有多个组件实例时,您可以从控制器访问 angular.directive('extLabel',function { return { scope: { name: '@',configObj: '=' },link: function(scope,iElement,iAttrs) { // this could be and exposed method scope.changeLabel = function(newLabel) { scope.configObj.label = newLabel; } } } }); 然后当有: <ext-label name="extlabel1" config-obj="label1"></ext-label> <ext-label name="extlabel2" config-obj="label2"></ext-label> <ext-label name="extlabel3" config-obj="label3"></ext-label> 如何获取访问控制器中extLabel2的scope.changeLabel? 是否有意义?
这对你工作吗?
angular.directive('extLabel',function() { return { restrict: 'E',scope: { api: '=' },iAttrs) { scope.api = { doSomething: function() { },doMore: function() { } }; } }; }); 从包含父级 <ext:label api="myCoolApi"></ext:label> 和在控制器 $scope.myCoolApi.doSomething(); $scope.myCoolApi.doMore(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |