如何在控制器中查找指令并更新其数据?

时间:2014-06-27 10:24:13

标签: javascript angularjs

我对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的组的数据的指令,并更新它的范围对象。最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

<indicator free="freeVal"></indicator>

在您的视图中

$scope.freeVal = 25;
控制器中的

将显示Free25

每次更改$ scope.freeVal时 - 显示的值也会改变。

因此,您不需要从指令更改范围值 - 只需将范围值传递给指令(free =&#34; freeVal&#34;)并在新数据到达时更改范围中的值 - 指令中的值并且在视图中会自动更改。