我有这个小问题。我有一个具有订阅选项的服务。当数据库中的项目被修改(即客户订单)时,我希望客户实时查看更改。
一旦用户登录,他就会自动订阅他的订单状态(或多个订单,视具体情况而定)。当状态改变时,服务将POST发送到我指定的URL,当完成后,我想更改客户端的订单状态,但是我不知道如何修改Angular的模型以更改用户看到的内容。
module.exports = function (app) {
app.route('/api/machine')
.post(function (req, res) {
console.log(JSON.stringify(req.body));
return res.send("post returned " + JSON.stringify(req.body));
})
};
目前,我从服务中获取更新并将其打印出来,但如何更新视图呢?
答案 0 :(得分:0)
尝试使用$ watch()函数..当修改该值时,视图会更新。
$scope.$watch(function(scope) { return scope.data.myVar },
function(newValue, oldValue) {
document.getElementById("").innerHTML =
"" + newValue + "";
}
);
我不知道你是如何构建这个项目的结构的,但是如果你正在使用API,那么在更改完成后使用http post通知你的前端。
摘要或观察,将使您的控制器始终执行功能已更改的值。
Angular Digest,Watch and Apply docs.
我希望这会有所帮助。
CYA。