我在3.15-3.16上注意到了这一点,突然我开始在带有连字符(减号)的表达式中出现错误
来源:<div ng-click="Landing.goSlide(-1,4)"></div>
错误:Error: [$parse:ueoe] Unexpected end of expression: Landing.goSlide( {link…} at REGEX_STRING_REGEXP
当我从1之前删除-
时,它又起作用了,但我不明白为什么它一开始就坏了。
更新:
找到了罪魁祸首ngHint我不知道为什么angular是用ngHint编译的,我也找不到如何删除ngHint。有线索吗?
事实证明,如果您启用了AngularJS Batarang扩展,它在默认情况下会启用ng提示,并且它会阻塞任何包含连字符的表达式(以及在正则表达式中拆分的任何其他表达式)
如果有人好奇的话,这就是它断裂的地方。
var getFunctionNames = function(str) {
if (typeof str !== 'string') {
return [];
}
var results = str.replace(/s+/g, '').split(/[+-/|<>^=&!%~;]/g).map(function(x) {
if (isNaN(+x)) {
if (x.match(/w+(.*)$/)){
return x.substr(0, x.indexOf('('));
}
return x;
}
}).filter(function(x){
return x;
});
return results;
};