栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

angularjs ng-click默默地吃掉错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

angularjs ng-click默默地吃掉错误

角度表达式

实际上,这不是什么特别的

ng-click
,它是 角度表达式 的默认行为。

buggy()
不使用常规javascript进行评估。用评估
$parse

$parse
计算表达式并返回将在范围内运行的函数。

$parse
仅当表达式无效时才记录错误。

角度表达式评估是宽容的,我想不出任何方法通过它。

为什么表达式是宽容的?

Angular表达式允许未定义和null的基本原理与数据绑定有关。当绑定变量被编译到DOM中时,它们最初可能是未定义的或为null-
一个真正清晰的例子是绑定变量依赖于promise。Angular团队决定,与其达成承诺之前,不弹出错误消息,不如继续静默进行。

从Angular指南到表达式:

如果未定义a,则什么也不显示比抛出异常更有意义(也许我们正在等待服务器响应,并且它将很快被定义)。如果表达式评估不能原谅,我们就必须编写会使代码混乱的绑定,例如:{{((a
|| {})。b || {})。c}}

另请参见:https :
//groups.google.com/forum/m/#!topic/
angular/
HRVOUKEHLFw


角度表达式:

表达式是类似于Javascript的代码段,通常放置在诸如{{expression}}之类的绑定中。表达式由 $ parse
服务处理。表达式通常使用过滤器进行后期处理,以创建更加用户友好的格式。

角表达式与JS表达式

将Angular视图表达式视为Javascript表达式可能很诱人,但这并不是完全正确的,因为Angular不使用Javascript
eval()来评估表达式。您可以将Angular表达式视为具有以下区别的Javascript表达式:

  • 属性评估 :所有属性的评估均针对进行评估的范围,这与Javascript中针对全局窗口评估表达式的Javascript不同。

  • 宽恕
    :表达式评估宽容为undefined和null,这与Javascript中的情况不同,在Javascript中,尝试评估未定义的属性可能会生成ReferenceError或TypeError。

  • 没有控制流语句 :您不能在角度表达式中执行以下任何操作:条件,循环或抛出。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/636253.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号