AngularJS指令没有从服务中获取价值

时间:2014-08-04 20:25:21

标签: javascript angularjs

简而言之,我在指令和控制器中都使用AngularJS服务。当在控制器中执行对服务值的更改时,该指令中的值未更新。我在这里缺少什么?

我尝试在指令的scope.value上添加一个监视但实际上并没有改变。

var myApp = angular.module('myApp', [])
  .directive('myDirective', function (myService) {
    return {
      controller: function ($scope, myService) {
        angular.extend($scope, myService);
      },
      scope: {},
      template: 'Directive: <select ng-model="absValue" ng-options="r for r in absRange()"></select> {{absValue}}'
    };
  })
  .service('myService', function () {
    return {
      absRange: function () {
        var value = this.value;

        return range(2 * this.value + 1).map(function (r) { return r - (value + 1); });
      },
      absValue: 0,
      value: 3
    };
  });

function myController($scope, myService) {
  this.range = range(5);

  angular.extend(this, myService);
}

这是插件:http://plnkr.co/edit/oAlzJ5gNQ4uXaJV2Bh9z?p=preview

0 个答案:

没有答案