我在访问$ scope时遇到问题。因为它似乎不适合我。
我有一个资源:
squashApp.factory('CourtsService', function($resource) {
return $resource('/api/court/:num', {num: '@num'});
});
我的控制器确实:
squashApp.controller('CourtsController',
function CourtsController($scope, $window, $http, CourtsService) {
CourtsService.get({num:1}, function(data){
$scope.courts = data;
})
});
我的服务器成功恢复了javascript对象(JSON)格式的数据。 我检查了一下。但由于某种原因,$ scope不会更新,在此回调之后我的视图根本没有变化。
请帮助
答案 0 :(得分:0)
我为您创建了一个演示,您的代码看起来还不错。
但是,当错误发生时,为回调添加一些逻辑总是好的,所以你的应用程序不会无声地死掉。
squashApp.controller('CourtsController', function CourtsController($scope, $window, $http, CourtsService) {
CourtsService.get({
num: 1
}, function (data) {
console.log('success');
$scope.courts = data;
}, function (data) { // -> error handling
console.log('failed');
$scope.courts = data;
})
});
的 Demo 强>
答案 1 :(得分:0)
使用$ $(推荐)
使用angular $ resource访问$ scope的简单方法 squashApp.controller('CourtsController',
function CourtsController($scope,CourtsService) {
CourtsService.get({num:1}).$promise.then(function(data){
//$scope -- can be accessed here
}, function(failed){
}
});