4

1.20 rc2 を使用してディレクティブを実装しようとしています:

var directives = angular.module('directives', ['controllers']);

directives.directive("drink", function()
{
return 
{
    template: '<div>{{flavor}}</div>',
    link: function(scope){
        scope.flavor = "cherry";
    }
}
});

ディレクティブはメインの JS ファイルで呼び出されます

 var comsumerApp = angular.module('comsumerApp', ['ngRoute','controllers', 'services', 'directives']);

すべてのコントローラーはサービスと同じように機能しますが、これを実行しようとすると次のエラーが発生します。

"Uncaught SyntaxError: Unexpected token: "

それから私は

$injector:modulerr エラー。

「drink」ディレクティブをコメントアウトすると、このエラーが停止するため、明らかに : などと関係があります。

誰でもこの問題に光を当てることができますか?私は完全に迷っています。

ありがとう。

4

1 に答える 1

12

左括弧の前の改行を削除してみてください。

return 
{
    template: '<div>{{flavor}}</div>',
    link: function(scope){
        scope.flavor = "cherry";
    }
}

これに:

return {
    template: '<div>{{flavor}}</div>',
    link: function(scope){
        scope.flavor = "cherry";
    }
}

が原因である可能性があるため、ブラウザーは の後に をautomatic semicolon insertion挿入します。;return

于 2013-09-14T09:37:06.800 に答える