1

angular 1.5 コンポーネントの html を介して文字列をバインドしようとしています。次のようなエラー メッセージが表示されます。

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>
4

1 に答える 1

2

双方向バインディングを使用し、バインディング ターゲットとして定数文字列を提供しています。

使用するコンポーネントを変更する必要があります。

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

は、渡された値 (この@場合は文字列) を評価し、ディレクティブ スコープへの一方向バインディングを実行します。

于 2016-11-07T22:16:11.900 に答える