ホームページ >ウェブフロントエンド >jsチュートリアル >サービスやウォッチャーなしで AngularJS の状態間で $scope データを共有する方法は?
AngularJS の州間で $scope データを共有する
質問:
$scope はどのように行うことができますか親コントローラーからのデータは、サービスや親コントローラー ウォッチャーを使用せずに AngularJS の子ステートにアクセスできますか?
回答:
スコープの継承について
AngularJS では、状態ビューがネストされている場合、スコープ プロパティは状態チェーンを継承します。したがって、状態ビューを次のように定義します。
.state("main", { controller:'mainController', url:"/main", templateUrl: "main_init.html" }) .state("main.1", { controller:'mainController', parent: 'main', url:"/1", templateUrl: 'form_1.html' }) .state("main.2", { controller:'mainController', parent: 'main', url: "/2", templateUrl: 'form_2.html' })
親コントローラーのデータの初期化
親コントローラーのデータをプロパティを持つオブジェクトとしてインスタンス化します。例:
controller('mainController', function ($scope) { $scope.Model = $scope.Model || {Name : "xxx"}; })
ng-model でのドット表記の使用
ng-model でドット表記を使用してプロトタイプの継承を確保します。例:
<input type="text" ng-model="Model.Name">
例:
この Plunker の実際の例を参照してください: https://plnkr.co/edit/jmEb62e96kHlXPjLGBb9?p=preview
以上がサービスやウォッチャーなしで AngularJS の状態間で $scope データを共有する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。