所以我正在使用 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']);
所有 Controller 都像服务一样工作,但在尝试这样做时出现此错误:
"Uncaught SyntaxError: Unexpected token : "
然后我得到了
$injector:modulerr error.
注释掉“drink”指令可以阻止这个错误,所以很明显它与 : 或其他东西有关。
任何人都可以照亮我完全迷失的这个问题。
谢谢。
最佳答案
尝试删除左括号前的换行符:
return
{
template: '<div>{{flavor}}</div>',
link: function(scope){
scope.flavor = "cherry";
}
}
为此:
return {
template: '<div>{{flavor}}</div>',
link: function(scope){
scope.flavor = "cherry";
}
}
这可能是由于自动分号插入
,所以你的浏览器在return
之后插入了一个;
,因为它认为你只是错过了它..
关于javascript - Angularjs 指令不起作用 "Unexpected token",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18800056/