Angularjs angular js force.com Javascript远程处理
我是Angular JS新手,很难从javascript远程处理将数据输入控制器。以前有人这样做过吗Angularjs angular js force.com Javascript远程处理,angularjs,force.com,Angularjs,Force.com,我是Angular JS新手,很难从javascript远程处理将数据输入控制器。以前有人这样做过吗 Visualforce.remoting.Manager.invokeAction('{!$RemoteAction.Forecasting.Users}', new Object(),function(result, event){ return result } ); 我究竟如何将数据输入控制器: var forecastingCtrl = function($scope,
Visualforce.remoting.Manager.invokeAction('{!$RemoteAction.Forecasting.Users}',
new Object(),function(result, event){
return result
}
);
我究竟如何将数据输入控制器:
var forecastingCtrl = function($scope, $q){
$scope.lengths = function(){return '5'};
$scope.users = [];
}
编辑:以下作品很好:
fc.service('Users', function($rootScope, $q) {
this.get = function(){
var deferred = $q.defer();
Visualforce.remoting.Manager.invokeAction('{!$RemoteAction.Forecasting.Users}',new Object(),function(result, event){
if(event) {
$rootScope.$apply(function() {
deferred.resolve(result);
});
} else {
deferred.reject(result);
}
});
return deferred.promise;
}
});
function forecastingCtrl($scope, $q, Users){
$scope.lengths = function(){return '5'};
var promise = Users.get();
promise.then(
function(users){
$scope.users = users;
},
function(reason){
alert('Failed: ' + reason);
}
);
};
我没有使用JavaScriptRemoting(听起来很有趣),但您可能想做的是将visualforce代码封装在一个服务中,使用一个方法(很可能是一个承诺)返回数据并将服务注入控制器。这样做的好处是,您可以通过注入数据服务的mock或spy来对控制器进行单元测试。该模式非常类似于您将如何使用angular的$http和$resource服务。希望这能让你走上正轨。谢谢你给我带来了清晰的一刻。你是对的!