ホームページ >ウェブフロントエンド >jsチュートリアル >サービスやウォッチャーなしで AngularJS の状態間で $scope データを共有する方法は?

サービスやウォッチャーなしで AngularJS の状態間で $scope データを共有する方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-14 10:31:02491ブラウズ

How to Share $scope Data Between States in AngularJS Without Services or Watchers?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。