【发布时间】:2016-02-22 09:11:26
【问题描述】:
我将 SignalR 与 Angular2 应用程序一起使用,我们希望 SignalR 客户端方法使用从服务器接收的数据调用 Angular 应用程序,然后让 Angular 重做数据绑定。例如,在 Angular 应用程序中,我为我们的商店公开了一个全局变量,它上面有一个集合。
例如 (打字稿)
....
export class Store{
Customers : Customer[];
constructor(){
window["GlobalStore"] = this;
}
setCustomers (customers : Customer[]){
this.Customers = customers;
}
}
....
在我的客户端 SignalR javascript 中,我有一个函数:
$.connection.MyHub.client.receive = function(data){
//Call into the Angular app and set data, which is then rendered in views
//via data-binding
//data contains a json array of customers
window.GlobalStore.setCustomers(data);
}
这似乎可以工作并将数据设置在商店中,但是,当数据被重置时,Angular 似乎没有检测到更改,因此 UI 没有刷新。
这不是数据类型的问题,因为即使将简单的字符串/整数等传递给商店,我调试时也会正确设置商店属性,但是,Angular 框架似乎不会触发更改检测和刷新意见。
关于如何: A)手动触发角度数据绑定以刷新视图? B) 使用不同的方式从外部调用 Angular 2 应用程序中的方法?
谢谢
【问题讨论】:
标签: javascript angular signalr