我有这个控制器
.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!
答案 0 :(得分:0)
您是否尝试过:范围:{uiState:&#39; = uiState&#39;}?
答案 1 :(得分:0)
这里根本没有调用你的控制器。要进行调用,必须至少有一个带有ng-controller的元素。你可以改成它,
<my-dir uiState="uiState" ng-controller="Main"> </my-dir>