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