我创建了一个包含选择输入字段的自定义指令。
我正在使用 ng-options 填充选择选项,并且我目前正在使用options
绑定到隔离范围的属性为选项传递数据。见下文。
<script>
recManagerApp.directive(myDirective, function () {
return {
restrict: 'E',
templateUrl: '/templates/directives/mydirective.html',
scope: {
mySelectedValue: "=",
options : "="
}
};
});
</script>
<my-directive my-selected-value="usersValue" options="myDataService.availbleOptions"></my-directive>
<div>
<select data-ng-model="mySelectedValue" data-ng-options="item for item in options">
<option value="">Select something</option>
</select>
</div>
上述工作按预期工作,正确填充选项,选择正确的值并与父范围内的属性进行双向绑定。
但是,我宁愿不使用 my-directive 元素上的属性传递选项,而是注入可以为 ng-options 提供数据的服务 (myDataService)。但是,当我尝试这个(各种方式)时,没有创建任何选项,尽管服务被正确注入并且数据可用。谁能建议一种方法来做到这一点?
recManagerApp.directive(myDirective, function (myDataService) {
return {
restrict: 'E',
templateUrl: '/templates/directives/mydirective.html',
scope: {
mySelectedValue: "=",
options : myDataService.availableOptions
}
};
});
谢谢
垫