我对AngularJS很新,也许正因为如此,我无法回答我的问题,但我真的想以MVC的方式重构我的应用,直到它完全成为一个大块的意大利面:))
我有一个指令,应该指出现在登录的组中的用户数。说它看起来像这样:
angular.module('dashboard').directive('indicator',
function($scope) {
var directive = {
restrict: 'E',
scope: { free: '=' },
template: '<div><h3>Free<h3><span>{{free}}</span></div>'
};
return directive;
});
当某个组更改时,此数字会立即更新(我使用SignalR)。当事情发生变化时,我从服务器获取的JSON就像这样
{
groupId: 123,
loggedIn: 12,
onPause: 2,
total: 20
}
所以我需要以某种方式(我认为)找到显示具有给定ID的组的数据的指令,并更新它的范围对象。最好的方法是什么?
答案 0 :(得分:0)
<indicator free="freeVal"></indicator>
在您的视图中
$scope.freeVal = 25;
控制器中的将显示Free25
每次更改$ scope.freeVal时 - 显示的值也会改变。
因此,您不需要从指令更改范围值 - 只需将范围值传递给指令(free =&#34; freeVal&#34;)并在新数据到达时更改范围中的值 - 指令中的值并且在视图中会自动更改。