我有JSON,它存储了一个选项列表。我想在控制器中使用jQuery操作DOM。例如,我在html中有一个<div id="div"></div>
,我想要
$scope.options = "options come from JSON";
$('#div').append("<select ng-model='model'><option ng-repeat='opt in options'>{{opt.value}}</option></select>")
在控制器中。当我打开html页面<select></select>
标签即将发布但选项为空时。我的问题是如何在控制器中使用ng-repeat循环选项并发送到html页面?谢谢。
答案 0 :(得分:0)
您应该更喜欢使用Angular ng-options
:
<select ng-model="model" ng-options="opt.value for opt in options"></select>
作为旁注(尽管此代码可以正常工作),您应该避免对AngularJS应用程序进行DOM操作。它不是JQuery,而且它不是 Angular方式。
答案 1 :(得分:0)
请不要在这么简单的示例中进行DOM操作 - 通常,您应该将其保存为指令。只需在你的HTML中直接写下这个:
<div id="div">
<select ng-model='model'>
<option ng-repeat='opt in options'>{{opt.value}}</option>
</select>
</div>
答案 2 :(得分:-2)
可以做这样的事情
//View
<select ng-if="options">
<option ng-repeat="opt in options">{{opt.value}}</option>
</select>
//Controller
$scope.options = <The JSON object>;