如何在angular.js中的特定事件中使用指令

时间:2013-11-07 07:45:54

标签: angularjs angularjs-directive angular-template

我有一个像这样的HTML,

  <div ng-controller="main">
     <div ng-sparkline class="first"></div>
     <div class="second"></div>
     <div class="third"></div>
     <div class="fourth"><button ng-click="save()">click</button></div>
  </div>

这是我的模板

  myApp.directive('ngSparkline', function ()
  {
     return
     {
       template: '<div>Hello! {{name}}</div>',
     };
  });

当我点击“点击”按钮时,我想将此模板附加到第一个(classname)div中。我想为每次点击附加此模板。怎么做?

1 个答案:

答案 0 :(得分:0)

在使用Angular时不要考虑jQuery(我在开始时也做过)。正确的解决方案是:

  • $scope
  • 中添加一系列内容(*)
  • $scope.save()方法将内容(*)添加到数组中。
  • 将它们显示为(根本不使用指令):

    <div class="first">
        <div ng-repeat="thing in arrayOfThings">Hello {{thing.name}}!</div>
    </div>
    

如果你真的想使用模板(我猜它比显示的更复杂 - 迷你图),重复模板:

<div class="first">
    <div ng-repeat="thing in arrayOfThings">
        <div ng-sparkline>..do stuff with thing...</div>
    </div>
</div>

(*)&#34; thing&#34;是你合适的模型对象。