所有
有没有办法在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?如果没有,是否可以使用第三方库完成?在任何一种情况下,如何做到这一点?
提前感谢任何见解...
答案 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会在您更新模型时为您添加标记