免责声明我是 angularjs 的新手 :)
我有一个委托给服务的控制器,我试图保留 $scope 以便在设置属性后可以使用 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 的示例。
编辑:这个应用程序正在使用 node-webkit 并且“芒果”服务本质上是与文件系统交互以调用 shell 脚本等。