2016-03-04 4 views
1

Вот plunker locted здесь:Угловая 1,5 компоненты не проходящая модальные данных

https://plnkr.co/edit/V8lGOv44a95weFKipDYF?p=preview

app.component('exampleComponentTest', { 
    bindings: { 
     title: '=' 
    }, 
    template: '<h2>Title: {{exampleComponentTest.title}}</h2>', 
    controller: function() { 

    } 
}); 

Я создал пользовательский компонент, ожидая его, чтобы принять атрибут заголовка из тега, но он не работает, как я ожидается. Как я могу заставить это работать правильно?

ответ

3

Хотя ваш код работал бы нормален в кандидатах высвобождения 1,5, соглашение об именах для доступа к контроллеру в шаблонах компонентов было изменено в окончательном варианте. Теперь он по умолчанию равен $ctrl.

app.component('exampleComponentTest', { 
    bindings: { 
     title: '=' 
    }, 
    template: '<h2>Title: {{$ctrl.title}}</h2>', 
    controller: function() { 

    } 
}); 
1

По умолчанию имя контроллера, связанное в представлении, равно $ctrl.

Так что, если вы хотите работать, вы должны иметь следующий шаблон:

template: '<h2>Title: {{$ctrl.title}}</h2>' 

Если вы хотите использовать exampleComponentTest, необходимо добавить свойство controllerAs в компоненте.

app.component('exampleComponentTest', { 
    bindings: { 
     title: '=' 
    }, 
    template: '<h2>Title: {{exampleComponentTest.title}}</h2>', 
    controller: function() { 

    }, 
    controllerAs: 'exampleComponentTest' 
}); 
Смежные вопросы