我的模板中有一个选择框,如下所示:
<form name="myForm" class="fixed-select">
<select name="repeatSelect" id="repeatSelect"
ng-model="selectedItem">
<option ng-repeat="program in programs"
value="{{program.name}}">
{{program.name}}
</option>
</select>
</form>
我的模板就是这样:
<div ng-include="'/views/program/program.html'"></div>
现在,在我的控制器中(让我们称之为MyCtrl)我可以设置selectedItem并导致正确的加载:
$scope.selectedItem = "Manage";
但是当手动使用选择框时没有任何事情发生,因为我认为它与父母的范围无关(模板的当前控制器(MyCtrl)与ng-include)。
我一直在寻找如何解决此问题,并且有一些选项提到更改模板以包含$ parent或其他内容。这真的有必要吗?我希望ng-include是封装现有数据的好方法,所以我可以再次使用它而无需修改。如何将ng-include范围连接到控制器(MyCtrl)?
非常感谢您花时间和耐心阅读本文。
EDIT1: 这些节目&#39;选择框的填充只是一个字符串数组:[&#34; Main&#34;,&#34; Etc&#34;]
答案 0 :(得分:0)
事实证明我应该创建一个继承的对象。因此,我的控制器中只有$scope.selectedItem
而我的模板中只有selectedItem
,我分别使用了$scope.model.selectedItem
和model.selectedItem
。
我从another issue on stack overflow了解到这一点。