我创建了一个 angularjs 变量解析示例,它在我的环境中完美运行。下面突出显示我的实现代码
var model = $parse("ABC_DEF");
model.assign($scope, chart); //Works successfully
但这里我只是将变量名称更改为“ABC-DEF”。然后我将变量实现为与上面相同的代码,但这里它显示异常,如 assign is not a function in $parse
。下面显示了错误抛出的代码行
var model = $parse("ABC-DEF");
model.assign($scope, chart); //Not Working- shows assign not a function
这个问题的原因是什么?
最佳答案
ABC-DEF
不是 Javascript 中的有效变量名,因为破折号被解释为减法运算符 (related question) .
因此,如果您查看 expression guide - angular docs :
Angular expressions are JavaScript-like code snippets that are usually placed in bindings such as
{{ expression }}
.
Angular 将此表达式 "ABC-DEF"
解释为二元函数 (source) ,不是可赋值的表达式。
关于javascript - AngularJS - $parse.assign 返回不是包含 '-' 的字符串的函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26973004/