我有一个带有函数参数的AngularJS指令,当我调用指令时它完全正常工作,我想概括它。 到目前为止我得到了什么:
.directive('panelBox', function () {
return {
restrict: 'E',
scope: {
values: '=',
calculatefn: '&'
},
templateUrl: '/ProfitCalculator/PanelBox',
controller: function ($scope) {
$scope.calculate=function() {
$scope.calculatefn();
}
}
}
})
在主要范围内:
$scope.smartBookValues= {
name:'Smart Book',
text:'Smart book header',
controls:[]
};
和html:
<panel-box values="smartBookValues" calculateFn="smartBookCalculateFn()"></panel-box>
现在我试图绑定值并计算Fn,所以我从calculateFn开始并做了:
$scope.smartBookValues= {
name:'Smart Book',
text:'Smart book header',
controls:[],
calculateFn:'smartBookCalculateFn()'
};
和html:
<panel-box values="smartBookValues" calculateFn="{{smartBookValues.calculateFn}}"></panel-box>
但我得到:[$ parse:syntax]
语法错误:令牌&#39; {&#39;表达式[{{smartBookValues.calculateFn}}]第2列的无效键,从[{smartBookValues.calculateFn}}开始。
答案 0 :(得分:0)
首先,您声明为:
listview
所以html中的语法就像:
calculatefn: '&' <-- small 'f'
在Google上搜索&#34;如何将函数传递给angular指令&#34;