Angularjs 指令不起作用“意外令牌”

Angularjs Directive not working "Unexpected token"

本文关键字:令牌 意外令牌 意外 指令 不起作用 Angularjs      更新时间:2023-09-26

所以我使用 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']);

所有控制器都像服务一样工作,但是在尝试执行此操作时,我收到此错误:

"未捕获的语法错误: 意外的令牌:"

然后我得到

$injector:模块rr错误。

注释掉"drink"指令可以阻止此错误,因此显然它与:或其他内容有关。

谁能照亮这个问题,我完全迷路了。

谢谢。

尝试删除左括号前的换行符:

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后插入一个;,因为它认为你只是错过了它。