2015-01-16 4 views
0

Я пытаюсь использовать директиву в угловом формате, где я передаю объект на основе класса в качестве параметра. Когда я говорю «классовый» Я имею в виду объект функции, как в этом примере:Передача объекта класса на угловую директиву

var User = function() {}; 
var myUser = new User(); 

Теперь, давайте предположим, что MyUser в рамках моего контроллера и у меня есть этот HTML.

<my:directive myUser="myUser" /> 

Тогда я определить директиву:

mainApp.directive('myDirective', [function() { 
    return { 
      scope: { 
      myUser: '=' 
     }, 
     restrict: 'E', 
     replace: true, 
     templateUrl: 'partials/myDirective.html', 
     controller: function($scope) { 
      console.log($scope.myUser); 
     } 
    }; 
}]); 

Проблема заключается в том, я не вижу MyUser в контроллере директивы.

я сначала обвинял, как я объявленный параметр с = (он должен быть использован с объектами в то время как мой объект вместо последних function)

Так что я попытался изменить, что с &, но проблема остается.

Может кто-нибудь помочь мне? Что я делаю не так? Возможно ли даже передать этот объект?

ответ

2

Проблема в том, как вы используете атрибут в HTML.

Вместо:

myUser="myUser" 

Оно должно быть:

my-user="myUser" 

Демо:http://jsfiddle.net/0fgmham3/

+0

Это он! Я не могу поверить, что раньше этого не замечал, я думаю, что я просто знаком с директивами! Большое спасибо! –

+0

Нет проблем. Не волнуйся, взял меня на время, чтобы заметить это тоже :) – tasseKATT

Смежные вопросы