2016-11-07 3 views
0

Я пытаюсь связать строку через html углового компонента 1.5. Я получаю сообщение об ошибке, говорящее:Ошибка Связывание строк с компонентами Angular 1.5

Error: [$compile:nonassign] Expression ''My Title'' in attribute 'title' used with directive 'selectList' is non-assignable! 

Это HTML, где я звоню компонент:

index.html

<select-list title="'My Title'"></select-list> 

и компонент:

export var selectListComponent = { 
    bindings: { 
     title: "=" 
    }, 
    templateUrl: 'path/selectList.html', 
    controller: selectListController 
}; 

и компонент html:

<div>{{$ctrl.title}}</div> 

ответ

1

Вы используете двустороннюю привязку и обеспечиваете постоянную строку в качестве цели привязки.

Вы должны изменить свой компонент использовать:

export var selectListComponent = { 
    bindings: { 
     title: "@" 
    }, 
    templateUrl: 'path/selectList.html', 
    controller: selectListController 
}; 

@ оценит значение, которое она передается (строка в данном случае), а затем выполнить односторонний привязку к сфере директивы.

+0

Спасибо, Саймон, сначала я пытался использовать «<» для односторонней привязки, но я думаю, что это не для примитивных типов данных? отмеченный как ответ, было точно, что было не так – Shawn

+1

Правильно, '<' для объектов. –

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