javascript - AngularJS - $parse.assign 返回不是包含 '-' 的字符串的函数错误

标签 javascript angularjs

我创建了一个 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/

相关文章:

javascript - 在 Three.js 中渲染自定义几何

angularjs - 当调试信息被禁用时,有没有办法获取 DOM 元素的范围?

javascript - preventDefault 没有停止默认的鼠标处理

javascript - 即使过滤器参数未更改,也会调用 Angular 过滤器

javascript - AngularJS:过滤器数组

javascript - Angularjs:选择列表的 ng-change

javascript - 哪个是正确的Node.js架构?

javascript - 使用工厂方法创建服务时,AngularJS 模块未定义

javascript - Echarts3.0在堆积条形图中y轴显示百分比

javascript - 如何将参数从子函数传递给父reactjs