2015-01-05 3 views
0

У меня есть контроллер, как это:Угловая область видимости свойства не доступны из директивы в атрибуте

var exampleController = function($scope, $stateParams){ 
    $scope.myVariable = $stateParams.id; 
    console.log($scope.myVariable); 
} 

и директивы, как:

var exampleDirective = function(){ 
    return { 
     restrict: 'E', 
     scope : { 
      myVariable: '=' 
     }, 
     templateUrl: "myTemplate.html", 
     link: function($scope){ 
       console.log($scope.myVariable); 
     }); 
    }; 
} 

в моем HTML, как:

<my-example myVariable="myVariable"></my-example> 

Учитывая идентификатор в URL-адресе 21, я получил следующее:

21 
undefiend 

Кто-нибудь знает, почему я не смог передать значение $ stateParams, чтобы директива не увидела его?

Я попытался передать статическое значение, но оно тоже не сработало. Пытался таким образом в контроллере:

$scope.myVariable = 26; 
+1

'myVariable' =' My-variable' Его опечатка вы пропустили дефис обозначения там на вид. i.e '' – PSL

ответ

1

Вы забыли Угловое соглашение для имен атрибутов:

<my-example my-variable="myVariable"></my-example>