我的Angular指令不是从控制器获取数据

时间:2014-12-18 04:37:11

标签: javascript angularjs angularjs-directive

我有这个控制器

  .controller('Main', ['$scope', function ($scope) {
    $scope.uiState = {'name': 'test'};
  }])

和指令就像这样

      scope: {uiState: '='},
      link: function(scope, element, attrs) {
console.log(scope.uiState) // coming as undefined

}

我正在使用这个

<my-dir uiState="uiState"> </my-dir>

我认为我的指令是在控制器填充数据之前编译的。

任何想法

我现在看到我在firebug中有这个错误

Error: [$compile:nonassign] Expression 'undefined' used with directive 'my-dir' is non-assignable!

2 个答案:

答案 0 :(得分:0)

您是否尝试过:范围:{uiState:&#39; = uiState&#39;}?

答案 1 :(得分:0)

这里根本没有调用你的控制器。要进行调用,必须至少有一个带有ng-controller的元素。你可以改成它,

<my-dir uiState="uiState" ng-controller="Main"> </my-dir>