0

次のように、属性から入力データを読み取る AngularJS ディレクティブがあります。

<my-directive input-data='items'></my-directive>

私の指示:

return {

    scope: {
        inputData: '='
    }

}
...

現在、私は通常、スコープ内でネストされたオブジェクトの配列を定義し、ディレクティブはそのデータをスコープから読み取りますが、今はジャスミン、うなり声、角度をディレクティブでうまく動作させてテストできるようにしようとしていますが、 m このエラーが発生します:

Error: [$compile:nonassign] Expression 'undefined' used with directive 'angularMultiSelect' is non-assignable!

これは、ジャスミン テストにデータを挿入しようとしている方法です。

inject(function($compile, $rootScope) {
    scope = $rootScope.$new();

    //scope.items = [];  //<--- this works, but it's useless
    scope.items = [{}, {}];  //<---- this triggers the error (I haven't deleted anything, that is an array with 2 empty objects
    elem = angular.element(html);
    $compile(elem)(scope);
    scope.$digest();
});

ジャスミンからディレクティブにデータを渡すにはどうすればよいですか?

4

1 に答える 1