我的html代码中有这个带有指令的控制器。该指令具有我想从父控制器访问并在html中显示的范围值。希望我的示例代码能够简单概述我正在尝试实现的目标。
我知道这项工作使用$ rootScope.showvalue ='pass text';在指令中工作,但不知道这是否是最佳解决方案。
app.directive('customdir', [function() {
return {
restrict: "E",
scope: {
showvalue: "="
},
link: function(scope, el, attrs) {
scope.showvalue = 'pass text';
}
};
}]);
app.controller('mycontroller', function($scope) {
alert($scope.showvalue);
});
<html>
<div ng-controller="mycontroller">
<custom-dir></custom-dir>
/* Show scope value from custom dir */
{{showvalue}}
</div>
</html>
答案 0 :(得分:0)
由于您通过双向绑定绑定了指令的隔离范围showvalue
属性,因此您可以简单地将父范围属性作为属性传递
<customdir showvalue="showvalue"></customdir>
<p>{{showvalue}}</p>
演示〜http://plnkr.co/edit/W5k0hgDElklseOvjwRsS?p=preview
如果您希望HTML为<custom-dir>
,则需要将指令重命名为'customDir'
。
答案 1 :(得分:0)