5

ng-click の関数呼び出しをモデルに文字列として保存したいと思います。ng-click="m.func" を使用できません。また、ng-click="{{m.func}}" を使用している場合も機能しません。

http://jsfiddle.net/j8wW5/19/

ng-click="{{m.func}}" の場合、angular 1.2.0 がエラーをスローするようにも見えます。

どうすればそれを機能させることができますか?

<div ng-app="myApp" ng-controller="myCtrl">
    <div ng-repeat="m in model"><a href="#" ng-click="{{m.func}}">{{m.caption}}</a></div>
</div>

var app = angular.module('myApp', []);

app.controller('myCtrl', function($scope) {
    $scope.model = [
        {
            caption: 'callme a',
            func : 'callme_a()'
        },
        {
            caption: 'callme b',
            func : 'callme_b()'
        }
    ]

    $scope.callme_a = function() {
        alert("called a");
    }

    $scope.callme_b = function() {
        alert("called b");
    }
});
4

4 に答える 4