[英]Angular set ui-select default from another controller
我正在為一個簡單的任務條目創建一個編輯頁面。
字段之一是使用ui-select生成任務可以分配到的“項目”的下拉列表。
我遇到的問題是該表單包裝在ng-controller =“ getTask as vm”中。但是ui-select字段包裝在ng-controller =“ Projects as vm”中以生成列表。
我試圖從getTask控制器設置項目字段的默認值,但是我不能這樣做,因為它超出了范圍。
在getTask控制器中使$ select.selected可變的最佳方法是什么?
這是我正在處理的代碼:
<form ng-controller="getTask as vm">
<input type="text" name="task_name" value="{{ vm.task.name }}" />
<div ng-controller='Project as vm' class="form-group select">
<ui-select ng-model="selectedItem">
<ui-select-match>
<span ng-model="vm.formData.prject_id" ng-change="vm.setProject($select.selected.id)" ng-bind="$select.selected.project_name"></span>
<input type="hidden" name="project_id" value="{{ $select.selected.id }}">
</ui-select-match>
<ui-select-choices repeat="project in (vm.projects | filter: $select.search) track by project.id">
<span ng-bind="project.project_name"></span>
</ui-select-choices>
</ui-select>
</div>
</form>
希望有道理。 任何幫助將不勝感激。
看看$ rootScope。 這是在整個應用程序中定義的范圍,在其中定義“選定”對象是實現此目的的最簡單方法。
https://docs.angularjs.org/api/ng/service/ $ rootScope
注意,有人會指責大型應用程序中過度使用rootScoped對象,因為它可能會變得凌亂。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.