gpt4 book ai didi

javascript - AngularJS 无法使用工厂在 Controller 之间共享数据

转载 作者:行者123 更新时间:2023-11-27 23:52:40 25 4
gpt4 key购买 nike

我尝试使用工厂在两个 Controller 之间共享数据。由于某种原因,两个输入不共享数据。在 AppCtrl Controller 中,我将 Data.FirstName 指定为相等的 lattitude。但是当我到达 PathController 时,我无法读取 Data.FirstName 中存储的值。
谁能告诉我我的代码有什么问题吗?

 .factory('Data', function(){
return { FirstName: 'jjjj' };
})


// controller one
.controller('AppCtrl', function($scope, Data, $http, $ionicModal, $timeout) {
....
$scope.mapLocation = function(lattitude, longittude) {

Data.FirstName = lattitude;
$scope.Data = Data;
}
....
})


// controller two
.controller("PathController", [ '$scope', function($scope, Data) {

$scope.Data = Data;
console.log(Data.FirstName); // Not getting Data.FirstName

angular.extend($scope, {
center: {
lat: 35.720031000963,
lng: -87.343068987131,
zoom: 17
},
markers: {
Campus: {
lat: 35.728031000963,
lng: -87.343068987131,
focus: true,
draggable: false,
message: "Building1"
},
},
defaults: {
scrollWheelZoom: false
}
});
}])

最佳答案

像这样更改数据工厂

.factory('Data', function(){
return {
mydata: {
FirstName: 'jjjj'
}

};
})

并分配如下

Data.mydata.FirstName = lattitude;
$scope.Data = Data.mydata;

关于javascript - AngularJS 无法使用工厂在 Controller 之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32578717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com