AngularJS从服务加载数据

AngularJS从服务加载数据,第1张

AngularJS从服务加载数据

我认为这应该可以解决您的问题

app.factory('nukeService', function($rootScope, $http) {    var nukeService = {};    nukeService.data = {};    //Gets the list of nuclear weapons    nukeService.getNukes = function() {        $http.get('nukes/nukes.json') .success(function(data) {     nukeService.data.nukes = data; });        return nukeService.data;    };    return nukeService;});function NavigationCtrl($scope, $http, nukeService){    $scope.data = nukeService.getNukes();    //then refer to nukes list as `data.nukes`}

这是对象引用的问题。

调用时,您

nukeService.getNukes()
获得对一个对象的引用
a
然后您的变量
$scope.nukes
引用该内存位置。

在设置了远程服务器之后,

nukeService.nukes =data;
您不需要更改对象,
a
而是
nukeService.nukes
从引用对象更改
a
为对象
b
。但是您
$scope.nukes
不知道这种重新分配,它仍然指向对象
a

在这种情况下,我的解决方案是传递

a
具有属性的对象,
data
然后仅更改数据属性,而不是更改对
a



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5662483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存