我的问题更多的是关于这种情况下的最佳做法:
我有一个表单,必须允许用户输入n个想法,每个想法都在一个独立的文本字段中。理想情况下,最后一个文本输入旁边会有几个按钮,以允许用户创建新的文本输入或删除最新的文本输入。
我知道DOM操作不是Angular的方法,但由于需求,我必须做一些需要动态创建元素的东西。 Angular中是否有最佳实践,服务或指令可以允许我这样做,或者我应该使用jQuery注入元素?
答案 0 :(得分:3)
您唯一需要的是正确使用ng-repeat。不需要使用jQuery进行DOM操作。这也不是好的做法。看,ng-repeat的力量。
工作人员here。
答案 1 :(得分:3)
这样的东西?
<div ng-repeat="idea in ideas">
<input ng-model="idea">
</div>
<button ng-click="AddNew()">Add New Idea</button>
<button ng-click="DeleteLast()">Delete Last Idea</button>
在控制器中:
$scope.AddNew = function() {
$scope.ideas.push("");
}
$scope.DeleteLast= function() {
$scope.ideas.splice($scope.ideas.length-1, 1);
}