【发布时间】:2017-02-18 09:00:28
【问题描述】:
在 Web 上看不到太多涵盖 Angular2 和 SailsJS 资源丰富的 Pub/Sub 场景的内容。我正在尝试查看新记录的模型并将它们显示在我的 Angular2 应用程序中。我正在使用angular2-sails 模块。下面的代码成功地将数据获取到我的 Angular 应用程序中,但需要刷新页面才能获取新数据。目标是在不刷新页面的情况下实时获取数据。
Sails 控制器操作:
newCall: function(req, res) {
if (!req.isSocket)
return res.badRequest;
Call.create({
payload: req.body
})
.exec(function (err, newCall){
if (err) return res.negotiate(err);
Call.publishCreate(newCall);
res.ok(newCall);
});
},
getCalls: function(req, res) {
Call.find()
.then(function(calls) {
Call.watch(req.socket);
console.log(req.socket.id + ' is now watching for changes to Calls model');
res.send(calls);
})
.catch(function(err) {
console.log(err);
});
}
Angular2 组件:
ngOnInit() {
let sails = this._sailsService;
sails.connect("http://localhost:1337")
sails.get('/socket/getCalls')
.subscribe(
(resData) => { this.calls = resData.data.length},
(error) => { console.log("oooops, error occured") },
() => { console.log("we are finished") }
)
}
【问题讨论】:
标签: javascript angular sails.js