具有绑定功能参数的AngularJS指令

时间:2018-01-03 13:56:09

标签: angularjs angularjs-directive syntax-error

我有一个带有函数参数的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}}开始。

1 个答案:

答案 0 :(得分:0)

首先,您声明为:

listview

所以html中的语法就像:

calculatefn: '&'   <-- small 'f'

在Google上搜索&#34;如何将函数传递给angular指令&#34;