我一直在嘗試使用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;
}]);
你讀過http://docs.angularjs.org/guide/scope? –
是的,我已閱讀文檔。我理解範圍的概念,我對實現細節感興趣。例如。 $ scope是一個範圍對象的別名還是它爲適當的範圍對象提供了getter/setter方法? –