簡體   English   中英

角度設置ui選擇其他控制器的默認設置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM