动态链接到ng-model

时间:2018-03-26 14:01:53

标签: angularjs

我有一个由jQuery组件创建的表。在每一行中都有一个select组件,我可以将其设置为链接到ng-model,如下所示:

<select ng-model="categories" ng-options="k as v for (k,v) in categories"></select>      

我的问题是我不知道它何时被渲染,所以我不得不使用丑陋$timeout,但即使调用$scope.$apply()它也不会绑定到项目。 如何强制将select与元素绑定。 附:我正在使用AngularJS 1.6

1 个答案:

答案 0 :(得分:2)

如果你有一些js代码(即jQuery)创建一些角度html,你需要$ compile所有创建的html所以绑定将起作用。 即这样:

angular.element(document.body).append(angular.element('<input ng-model="x"/>'));

只会添加一些html,而这个:

angular.element(document.body).append($compile(angular.element('<input ng-model="x"/>'))($scope));

将添加输入并将x绑定到其值。

http://plnkr.co/edit/PyIO02p3EHzpmC0cUA4V?p=preview