Angular ngHint - 表达式不支持连字符
Angular ngHint - expressions don't suport hyphens
我在 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-hint 并且它会阻塞任何包含连字符的表达式(以及任何其他在正则表达式中被拆分的表达式)
如果有人好奇,这就是问题所在。
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;
};
我在 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-hint 并且它会阻塞任何包含连字符的表达式(以及任何其他在正则表达式中被拆分的表达式)
如果有人好奇,这就是问题所在。
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;
};