在UI-Router 中,在$scope 之間共享資料可能具有挑戰性主控制器及其子狀態,而不依賴父控制器中的服務或觀察者。
關鍵在於理解AngularJS 範圍和UI-Router 視圖之間的關係:
考慮以下UI-Router 狀態定義:
.state("main", { controller:'mainController', url:"/main", templateUrl: "main_init.html" }) .state("main.1", { parent: 'main', controller:'mainController', url:"/1", templateUrl: 'form_1.html' }) .state("main.2", { parent: 'main', controller:'mainController', url: "/2", templateUrl: 'form_2.html' })
在mainController 中,如下初始化共享資料模型:
controller('mainController', function ($scope) { $scope.Model = $scope.Model || {Name : "xxx"}; })
在您的子狀態範本中,使用ng-model使用點符號來存取共享數據:
<input type="text" ng-model="Model.Name">
透過執行以下步驟,您可以在UI-Router 狀態下的$scope 之間有效地共享數據,而無需父控制器中的服務或觀察者。
以上是如何在沒有服務或觀察者的情況下在 AngularJS UI-Router 狀態之間共享資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!