gpt4 book ai didi

javascript - 语法错误 : Token '' is unexpected, 期望 [:] 在表达式 [] 从 [}}] 开始的第 4 列

转载 作者:行者123 更新时间:2023-11-30 16:55:25 24 4
gpt4 key购买 nike

我正在使用 Mocha 为指令编写测试,但不断收到语法错误标记是意外的。

这是确切的信息:

Error: [$parse:syntax] Syntax Error: Token 'noOfColumns' is unexpected, expecting [:] at column 4 of the expression [{{ noOfColumns }}] starting at [noOfColumns }}].

这就是我在 beforeEach 方法中设置测试的方式

    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();
}));

我的指令是这样设置的(我删除了不必要的代码,因为问题似乎出在我如何使用“=”和“=?”符号绑定(bind)作用域变量):

.directive('programmeGrid', function () {
return {
restrict: 'E',
scope: {
source: '=',
noOfColumns: '=',
promoImage: '=?',
promoRowNoOfColumns: '=?',
promoRowRepeatInterval: '=?',
limit: '=?'
},
controller: function($scope) {
// Code omitted
},
link: function(scope) {
// Code omitted
},
templateUrl: function(element, attributes) {
// Code omitted
},
replace: true
}
})

我已经尝试解决这个问题一段时间了,但一无所获。是什么导致了这个错误,我该如何解决?

如果我将“noOfColumns: '=',”替换为“noOfColumns: '@',这样就可以针对 noOfColumns 修复它,这很好,但是下一个范围变量“promoImage”将会中断,并且该值必须是 bool 值。

最佳答案

如果您需要保留您的'=',那么您必须调整模板:

 '<programme-grid source="pageItem" no-of-columns="noOfColumns" promo-image="promoImage" limit="limit" template="programmeGrid" />'

检查此以获取更多信息:What is the difference between '@' and '=' in directive scope in AngularJS?

我也不明白为什么你有这个:template="programmeGrid",我想你也可以删除它

关于javascript - 语法错误 : Token '' is unexpected, 期望 [:] 在表达式 [] 从 [}}] 开始的第 4 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29796339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com