0
我想要制作一个指令元素,它将接收一个json对象数组并创建一系列按钮。首先,我想我会尝试只用一个左键和一个右键。以下是我想要使用它访问指令模板里面的外部控制器功能
<div ng-controller="FormCtrl as form">
<buttongroup
left-func="form.cancel()" left-text="Reject Call"
right-func="form.submit()" right-text="Accept Call">
</buttongroup>
</div>
而且继承人的指令代码
.directive('buttongroup', function() {
return {
restrict: 'E',
scope: {
leftFunc: '@',
leftText: '@',
rightFunc: '@',
rightText: '@'
},
template: '<button type="button" ng-click="{{leftFunc}}">{{leftText}}</button><button type="button" ng-click="{{rightFunc}}">{{rightText}}</button>',
};
});
这将创建正确的HTML,但ng-click
不上的按钮工作。我假设这是因为他们在指令的模板范围内,无法访问FormCtrl函数form.submit
或form.cancel
。
我是全新角度,仍然试图弄清楚范围如何工作,所以任何帮助将不胜感激。
这是最有答案的。另一个问题是,leftFunc和rightFunc需要是'&'而不是'@'。但是当我看到这个答案时,我很快就明白了这一点。谢谢! – werdna357