在AngularJS中动态添加标签

时间:2012-10-25 16:49:14

标签: angularjs

所有

有没有办法在AngularJS中动态添加标签(特别是自定义标签)?

我最近创建了一个类型的自定义标记:

<mytag type="small" />

我试图在更大的&lt; div&gt;中进行管理元件。我想要做的是在div元素中放置一个按钮,当按下该按钮时,会在div中创建一个新的mytag元素。

换句话说,给定初始页面组成:

<div ng-controller="tagControl">
   <div id="tagdiv">
      <mytag type="small" />
   </div>
   <div id="Controls">
      <button ng-click="addTag()">Add New Tag</button>
      <button ng-click="clearTags()">Clear All Tags</button>
   </div>
</div>

我想在tagControl的addTag()函数中添加一些内容,只要按下“Add New Tag”按钮就会添加一个新的mytag标记,并且我想在clearTags()函数中添加一些东西来删除所有内容按下“清除所有标签”按钮时添加了标签。

这是否可以使用AngularJS?如果没有,是否可以使用第三方库完成?在任何一种情况下,如何做到这一点?

提前感谢任何见解...

1 个答案:

答案 0 :(得分:3)

你需要考虑MVC而不是DOM操作。您希望显示的<mytag>中有多少应该由模型中的某些内容驱动。然后你的HTML看起来像这样:

<div ng-controller="tagControl">
  <div id="tagdiv">
     <mytag type="small" ng-repeat="foo in items" />
  </div>
  <div id="Controls">
     <button ng-click="addTag()">Add New Tag</button>
     <button ng-click="clearTags()">Clear All Tags</button>
  </div>
</div>

然后你的addTag()方法只会添加到items模型,clearTags()会清除列表。 Angular会在您更新模型时为您添加标记