2015-10-15 55 views
0

所以使用jQuery我通过添加按钮添加列表元素字段。我没有使用ng-repeat指令。AngularJS如何计算jQuery动态添加的字段?

<li id="blah1" type="text" name="blah1" "ng-model" => "myField[$index]"> 
<li id="blah2" type="text" name="blah2" "ng-model" => "myField[$index]"> 

是否有AngularJS的方式来得到类似的$索引变量(或建造它),使得像变量$指数会越来越自动递增,并正在由AngularJS看?这种方式在li#blah1 ng模型将myField [1]和li#blah2将myField [2]。

+3

我相信你正在试图解决错误的问题。为什么以及如何使用jQuery? – Joseph

+0

我使用jQuery通过https://github.com/nathanvda/cocoon动态添加表单域...这是一个遗留应用程序,所以我试图在这些动态添加的表单上“洒”AngularJS效果/逻辑领域。由于它们是通过jQuery动态添加的,因此我可以尝试将它们绑定到角度的唯一方法是使用$ compile函数。但是,没有“ng-repeat”指令便于访问$ index计数器。那么也许我应该尝试在Angular中重写表单域添加功能呢? – Nona

+1

使用Angular方式添加字段而不是使用JQuery –

回答

1

我建议在Angular中使用数组来做这件事。

的JavaScript:

var myFields = []; 
myFields[0] = { id: 'blah1', name: 'blah1' }; 
myFields[1] = { id: 'blah2', name: 'blah2' }; 

$scope.myFields = myFields; 

HTML:

<li id="{{ field.id }}" name="{{ field.name }}" ng-repeat="field in myFields" ng-model="field" /> <!-- Field is equivalent to myFields[$index]. -->