Angular JS の基本 – スコープ(Scope)

Angular JS

Angular JS 

スコープ(Scope)は、AngularJSにおいてコントローラとビューを接続するための重要な概念です。スコープはデータやメソッドを含み、それらをビューに公開することで、コントローラとビューの間でのデータの受け渡しや相互作用を可能にします。

概念

スコープは、コントローラとビューの間の仲介者として機能します。コントローラ内で定義されたデータや関数はスコープに紐付けられ、スコープを介してビューに公開されます。このようにして、コントローラで処理されたデータや操作結果がビューで表示され、ユーザーとのインタラクションが可能になります。

スコープは$scopeという特別なオブジェクトとして提供されます。コントローラ内で$scopeオブジェクトにプロパティやメソッドを追加することで、それらのデータや振る舞いがスコープ内で利用できるようになります。これにより、スコープ内のデータやメソッドは自動的にビューに公開され、ビューで使用することができます。

定義例

angular.module('myApp')
  .controller('MyController', function($scope) {
    $scope.message = 'こんにちは、AngularJS!';

    $scope.updateMessage = function() {
      $scope.message = '新しいメッセージ';
    };
  });

上記の例では、$scopeオブジェクトにmessageというプロパティとupdateMessageというメソッドを追加しています。messageプロパティは初期値として'こんにちは、AngularJS!'を持ち、updateMessageメソッドはmessageプロパティの値を変更します。

ビューでは、$scopeオブジェクトのプロパティやメソッドをデータバインディングやディレクティブを通じて参照できます。例えば、以下のようにビュー内でスコープのプロパティを表示することができます:

<div ng-controller="MyController">
  <p>{{ message }}</p>
  <button ng-click="updateMessage()">メッセージを更新</button>
</div>

上記の例では、messageプロパティを{{ message }}として表示し、updateMessage()メソッドをボタンのng-clickディレクティブにバインドしています。これにより、スコープのデータやメソッドがビューで利用され、データの変更やイベントの発生に応じてビューが更新されます。

スコープはコントローラとビューの間でデータのやり取りを容易にします。コントローラのロジックに基づいてスコープのデータが更新されると、自動的にビューに反映されます。同様に、ビュー上のユーザーの操作やイベントによってスコープのデータが変更されると、コントローラ内のデータも自動的に更新されます。

スコープを使用することで、コントローラとビューの間でデータのやり取りをスムーズに行い、AngularJSアプリケーションをより効果的に制御できます。

コメント

タイトルとURLをコピーしました