我有一个由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
答案 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绑定到其值。