ホームページ >ウェブフロントエンド >jsチュートリアル >AngularJS コントローラー間で変数を効果的に渡すにはどうすればよいですか?

AngularJS コントローラー間で変数を効果的に渡すにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-02 01:32:14236ブラウズ

How Can I Effectively Pass Variables Between AngularJS Controllers?

AngularJS コントローラー間での変数の受け渡し

AngularJS コントローラー間での変数の受け渡しは、アプリケーション開発における一般的なタスクです。 1 つのアプローチは、コントローラー間で変数を共有するサービスを作成することです。

共有サービスの作成

angular.module('myApp', [])
    .service('sharedProperties', function () {
        var property = 'First';

        return {
            getProperty: function () {
                return property;
            },
            setProperty: function(value) {
                property = value;
            }
        };
    });

サービスの使用

コントローラーに、共有されたservice:

function Ctrl2($scope, sharedProperties) {
    $scope.prop2 = "Second";
    $scope.both = sharedProperties.getProperty() + $scope.prop2;
}

考慮事項

バインディングがコントローラー間で機能するには、プリミティブではなくオブジェクトのプロパティにバインドすることをお勧めします。 type.

// Avoid using primitive types
var property = 'First';

// Use objects
var property = { Property1: 'First' };

次のことを示す例については、[このフィドル](https://jsfiddle.net/philipjohnson/34qhw/) を参照してください。

  • 共有の静的コピーへのバインド値
  • 値の変更に応じて UI を更新する共有値へのバインド

    • 関数へのバインド
    • オブジェクトのプロパティへのバインド
    • オブジェクトへの双方向バインディングプロパティ

以上がAngularJS コントローラー間で変数を効果的に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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