向角度对象添加动态功能

Adding function dynamical to angular objects

本文关键字:动态 功能 添加 对象      更新时间:2023-09-26

如何将函数添加到动态的角度对象到onclick或click事件?

添加 onclick={{item.function}} 或 ng-click={{item.function}} 将不起作用

.JS

angular
  .module('app', [])
  .controller('MainController', ['$scope', function($scope) {
    $scope.test = function() {
      alert(1);
    };
    $scope.items = {
      'item1': {
        name: 'Item1',
        function: 'test()' // Not calling
      }
    };
  }]);

目录

<html ng-app="app">
<body ng-controller="MainController">
  <ul ng-repeat="item in items">
    <li ng-bind="item.name" ng-click="item.function"></li>
  </ul>
</body>
</html>

不工作演示http://codepen.io/anon/pen/jqEKRP

在控制器中:

...
      'item1': {
        name: 'Item1',
        f: $scope.test
      }
...

在模板中:

<li ng-bind="item.name" ng-click="item.f()"></li>

http://codepen.io/bparnikel/pen/bpNjoE