加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS中的绑定和消化工作如何?

发布时间:2020-12-17 09:09:41 所属栏目:安全 来源:网络整理
导读:将AngularJS与其他JavaScript-MVC框架分开的一件事是,它能够使用绑定将JavaScript中的绑定值回传到HTML。当您向$ scope变量赋值任何值时,Angular会自动执行此操作。 但是这是多么自动呢?有时候,Angular不会接受变化,所以我需要调用$ scope。$ apply()或
将AngularJS与其他JavaScript-MVC框架分开的一件事是,它能够使用绑定将JavaScript中的绑定值回传到HTML。当您向$ scope变量赋值任何值时,Angular会自动执行此操作。

但是这是多么自动呢?有时候,Angular不会接受变化,所以我需要调用$ scope。$ apply()或$ scope。$ digest()来通知角度来获取更改。有时当我运行这些方法之一时,它会抛出一个错误,并说一个摘要已经在进行中。

由于绑定({{}}花括号或ng属性中的任何内容)都使用eval回显,这就意味着Angular不断轮询$ scope对象以查找更改,然后执行eval将这些更改推送到DOM / HTML?或者有AngularJS不知何故弄清楚使用魔术变量,触发事件,当变量值更改或分配时触发?我从来没有听说过它被所有浏览器完全支持,所以我怀疑。

AngularJS如何跟踪它的绑定和范围变量?

除了Mark发现的 documentation section,我认为我们可以尝试枚举所有可能的变化来源。

>用户与HTML输入互动(‘text’,‘number’,‘url’,’email’,‘radio’,‘checkbox’)。 AngularJS有inputDirective.’text’,’number’,’url’和’email’输入绑定listener handler为’input’或’keydown’事件。侦听器处理程序calls scope.$apply.’radio’和’checkbox’绑定单击事件的类似处理程序。
>用户与选择元素交互。 AngularJS有selectDirective在’change’事件上有类似的行为。
>使用$timeout service也做$rootScope.$apply()的定期更改。
> eventDirectives(ngClick等)也使用scope.$apply。
> $ http也使用$rootScope.$apply()。> AngularJS世界之外的变化应该使用范围$ apply,你知道。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读