发表于: 2017-06-08 22:18:39

1 1107


今天完成的事情:

   1.修改上传指令中图片无法二次上传问题,实际是$apply()的问题。

   2.完成操作中更改上下线以后,请求数据后仍然返回上次所在的界面。

   

  

明天计划的事情

   1.学习$state.go,直接把传参的知识点都看一遍

   2.整合任务,将富文本编辑器加入界面中,点击编辑界面并能获取编辑器 

  

    

遇到的问题:

    上传图片的指令中双向绑定失效问题。

       我是通过jQuery中的$("#uploadImage").bind("change",function(event) 检测是否选择了上传文件的,首先呢,这种检测方法并不属于angualr的内置方法,所以在这个检测内执行的angualr数据绑定,angular是检测不到的,也就不会更新。实际上angualr是通过$apply()、$digest()、$watch()这三个指令完成了数据变化的监听。

       第一层,angualr在每个scope模型上设置一个$watch(),$watch()中有一个回调函数,当数据模型变化时,$watch()通过回调函数反馈数据的变化。

      第二层,如何监督$watch()回调函数?  是通过$digest()循环,每次$digest()循环都会触发scope上的$watch(),如果发生变化就回调。

      第三层,怎么样触发$digest()循环?如果用angualr内置的指令,ng-click等,angular就会通过$scope.$apply()去触发$rootScope.$digest()。我的问题也就是出在这里,我不用angular的内置指令去监督数据变化,所以需要手动在$("#uploadImage").bind("change",function(event)函数的最后一步加上$scope.apply(),手动触发这个检测过程。

  

  

   

  

收获: $apply()相关知识。



返回列表 返回列表
评论

    分享到