【发布时间】:2014-06-11 16:43:33
【问题描述】:
我使用 AngularJS/signalR 完成了一个简单的 SPA,当应用程序启动时,它会向我的集线器 Hello 发送通知。
在客户端,我有一个由控制器管理的通知列表。这个列表只更新了一次,而我可以看到每次都调用了我的回调,这要归功于 console.log(并且调试器显示 this.messages 在每次收到通知时都会增长)。 我不明白为什么 UI 只在第一次调用时更新(当前客户端发出的那个)
这是只工作一次的代码。
NotificationCtrl.prototype.hello = function() {
console.log("hello");
this.messages.push(new Notification("Tom", "Now", "Is now connected"));
}
【问题讨论】:
-
您是否尝试过添加
$scope.$apply以查看是否有效? -
不,我应该把这条线放在哪里?此外,我已经开始使用“controller as”语法并且没有可用的 $scope。
-
我会在回调中说,但如果你没有范围,那确实很难:)
-
但我可以将其还原为使用注入 $scope 的常规控制器
-
你可以只为这个变量尝试一下。