2016-11-07 1 views
0

각도 1.5 구성 요소의 html을 통해 문자열을 바인딩하려고합니다.오류 앵귤러 1.5 구성 요소로 문자열 바인딩

index.html을

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

및 구성 요소 :

export var selectListComponent = { 
    bindings: { 
     title: "=" 
    }, 
    templateUrl: 'path/selectList.html', 
    controller: selectListController 
}; 
이 내가 구성 요소를 호출하고있는 HTML을

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

이다 : 나는라는 오류 메시지가 무엇입니까

및 구성 요소 html :

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

답변

1

양방향 바인딩을 사용하고 있으며 바인딩 대상으로 상수 문자열을 제공하고 있습니다. 당신은 필요

사용하는 구성 요소를 변경하려면 :

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

@ 그것이 전달되는 값 (이 경우 문자열)를 평가 한 후 지침 범위에 바인딩 한 방법을 수행합니다.

+0

Simon, 처음에는 단방향 바인딩을 위해 '<'로 시도했지만 원시 데이터 유형에는 맞지 않습니다. 답변으로 표시된 것은 정확히 무엇이 잘못 되었습니까 – Shawn

+1

맞습니다. '<'는 객체를 나타냅니다. –

관련 문제