Javascript 语法错误:Token'';意外,在表达式[]的第4列处应为[:],从[}}]开始
我正在使用Mocha为一个指令编写一个测试,但不断获取语法错误标记是意外的 这就是确切的信息:Javascript 语法错误:Token'';意外,在表达式[]的第4列处应为[:],从[}}]开始,javascript,angularjs,html,mocha.js,Javascript,Angularjs,Html,Mocha.js,我正在使用Mocha为一个指令编写一个测试,但不断获取语法错误标记是意外的 这就是确切的信息: Error: [$parse:syntax] Syntax Error: Token 'noOfColumns' is unexpected, expecting [:] at column 4 of the expression [{{ noOfColumns }}] starting at [noOfColumns }}]. 这就是在beforeach方法中设置测试的方式 var ele
Error: [$parse:syntax] Syntax Error: Token 'noOfColumns' is unexpected, expecting [:] at column 4 of the expression [{{ noOfColumns }}] starting at [noOfColumns }}].
这就是在beforeach方法中设置测试的方式
var element, scope;
beforeEach(inject(function (_$rootScope_, _$compile_) {
scope = _$rootScope_.$new();
element = angular.element('<programme-grid source="pageItem" no-of-columns="{{ noOfColumns }}" promo-image="{{ promoImage }}" limit="{{ limit }}" template="programmeGrid" />');
scope.source = { test: "test" };
scope.noOfColumns = "3";
scope.promoImage = "true";
scope.limit = "12";
element = _$compile_(element)(scope);
scope.$digest();
}));
我试图解决这个问题已经有一段时间了,但一事无成。导致此错误的原因是什么?如何修复
如果我将“noOfColumns:'=”、“noOfColumns:'@”替换为“noOfColumns:'@”,这可以修复noOfColumns,但是下一个作用域变量“promoImage”将中断,该值必须是bool。如果需要保持
'='
,则必须调整模板:
'<programme-grid source="pageItem" no-of-columns="noOfColumns" promo-image="promoImage" limit="limit" template="programmeGrid" />'
“”
查看此项了解更多信息:
我也不明白你为什么会有这样的问题:
template=“programmeGrid”
,我想你也可以删除它我已经按照建议修改了我的模板。现在这个测试:它(“应该设置列数”,函数(){expect(element.attr('no-of-columns')).to.equal('3');});返回断言错误:预期未定义为等于“3”
'<programme-grid source="pageItem" no-of-columns="noOfColumns" promo-image="promoImage" limit="limit" template="programmeGrid" />'