我已經寫了一個工廠來共享控制器之間的數據。這裏是樣本angularjs工廠數據共享
.factory('sharedData', function() {
var property = {
title: '',
color: ''
};
return {
getTitle: function() {
return property.title;
},
setTitle: function (title) {
property.title = title;
},
getColor: function() {
return property.color;
},
setColor: function (color) {
property.color = color;
}
};
我使用控制器來設置工廠使用的數據。
sharedData.setTitle("title");
,但是當我試圖撥打:
console.log(sharedData.getTitle());
我收到了空字符串。我已經在控制器中正確注入了服務。任何幫助表示讚賞。
編輯: 對不起,錯過了一個重要的信息。在成功完成REST調用代碼後,我正在設置數據如下。
var req =
{
method: 'GET',
url: "/titleName"
headers: {
'Content-type': 'application/json'
}
};
$http(req)
.success(function (response, status)
{
console.log(status);
console.log(response[0].name);
sharedData.setTitle(response[0].name);
sharedData.setColor(response[1].color);
})
.error(function (response, status)
{
});
JSON響應是如下:
[{"name":"Name"},{"color":"red"}]
的console.log在成功回調是否給出正確的響應作爲名稱。謝謝
可能有某種異步計時問題,需要查看更多使用代碼。創建一個複製問題 – charlietfl
的演示可能不是一個理由,但是在你的例子中,在'setTitle'之後你忘記了'','' –
沒有逗號不是從複製粘貼錯誤的問題,我會編輯問題 –