简体   繁体   English

为角度对象添加动态功能

[英]Adding function dynamical to angular objects

How to add a function to a angular object dynamical to the onclick or click event? 如何为动态对象添加功能到onclick或click事件?

Adding onclick={{item.function}} or ng-click={{item.function}} won't work 添加onclick = {{item.function}}或ng-click = {{item.function}}无效

JS JS

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

Html HTML

<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>

Not working demo http://codepen.io/anon/pen/jqEKRP 不起作用的演示http://codepen.io/anon/pen/jqEKRP

In controller: 在控制器中:

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

In template: 在模板中:

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM