私は数週間 Angular を試してきましたが、$scope サービスで採用されている魔法を理解していないことに少し悩んでいます。$scope サービスを使用してモデル/ビューを更新するコントローラーを作成することに成功し、同じことを行う独自のディレクティブを作成することができました。
すごい!$scope サービスの内部で何が起こっているのかわかりません。次のようなものを作成すると、$scope.newproperty に割り当てを行うと実際に何が起こっているのでしょうか? $scope サービスに固有のドキュメントは見つかりませんでした。
module.controller("menu_ctrl",['$scope','$http',function($scope,$http){
$scope.newproperty = "Bound to model!" //magic!
}]);
さらに、ディレクティブ内に新しいリンク関数を作成すると (以下の例)、突然、変数を使用してスコープにアクセスできるようになるのはなぜですか? $scope または $apply サービスを使用すると何らかの魔法がかかると思いますが、推測するしかありません。ここで何か助けていただければ幸いです。ありがとう!
srvcs.directive('directiv', ['$http',function($http) {
var returnObj = {
link: function linkfn(scopeVar, instance, attr){
console.log(scopeVar);
scopeVar.newproperty = "Also bound to model!" //more magic!
...
...
}
};
return returnObj;
}]);