我正在尝试动态添加指令中的选择框。相同的ng选项在没有指令的情况下完美地工作,但是从指令它给出空列表请检查下面的小提琴。
我不想把selectbox放在Directive模板中......我只需要从控制器中添加它们。
小提琴:: http://jsfiddle.net/NfPcH/2009/
代码:
<select ng-model="selectedOption" ng-options="option for option in [1,2,3,45,6,8,9,7]"></select>
答案 0 :(得分:1)
解决问题的正确方法是使用指令compile
函数(读取'Compilation process, and directive matching' and 'Compile function')在编译之前修改元素。
<强> Working Demo 强>
app.directive('hello', function () {
return {
restrict: 'E',
scope: {},
template: 'hello world',
controller: function ($scope, $element, $attrs, $compile) {
var el = angular.element('<select ng-model="selectedOption" ng-options="option for option in [1,2,3,45,6,8,9,7]"></select>');
$compile(el)($scope);
$element.append(el);
},
}
});