免責聲明節省$範圍,我是新來的angularjs :)angularjs通過關閉
我必須委託給一個服務,我嘗試保持$範圍,所以我可以後scope.apply控制器設置屬性:
var Build = function($scope, $http, mango) {
var scope = $scope;
$scope.BuildManagerSubmit = function(selectedProfile) {
mango.buildMango(selectedProfile.def, function(profiledef) {
// bunch of property assignments on selectedProfile ...
scope.$apply();
}, scope);
};
};
controllers.controller('Build', ['$scope', '$http', 'mango', Build]);
注意,我使用的封閉件來保存的範圍和在將其傳遞給該服務(爲簡潔起見省略)。該服務將我稱爲cb.call(context,...),以便保持對scope的訪問。這一切都很好,但我更關心是否有更好的習慣用法。在委託給像這樣的服務時,我沒有看到很多維護$ scope的例子。
編輯:這個應用程序是使用節點的WebKit和「芒果」的服務基本與文件系統交互調出shell腳本等
什麼是doind mango.buildMango?有角度服務來自動處理超時或XMLHttpRequest,所以你不必做那種東西 – Guillaume86 2013-04-26 16:23:09
應用程序使用node-webkit和芒果服務與文件系統交互 – user2276815 2013-04-26 16:54:35
好吧,我會注入$ rootScope在芒果服務並從那裏調用$ rootScope。$ apply()。之後,當您在其他地方使用芒果服務時,您不必再擔心。 – Guillaume86 2013-04-26 16:59:57