0

全部:

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

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

<mytag type="small" />

我试图在更大的 <div> 元素中进行管理。我想做的是在 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() 函数中添加一些东西,只要按下“添加新标签”按钮,它就会添加一个新的 mytag 标签,我想在 clearTags() 函数中添加一些东西,当它删除所有添加的标签时“清除所有标签”按钮被按下。

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

在此先感谢您的任何见解...

4

1 回答 1

3

您需要考虑 MVC 而不是 DOM 操作。您想要显示多少个<mytag>s 应该由模型中的某些内容驱动。然后您的 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 会在你更新模型时为你添加标签

于 2012-10-25T16:58:18.167 回答