发表于: 2017-01-15 23:58:09

0 1223


1.今天完成的事:
   学习angular中$apply的用法。换了电脑配置开发环境。
2. 明天的计划:
   完成代码重构。
3. 遇到的困难:

   angularjs 中的$apply。

   $apply()函数可以从Angular框架的外部让表达式在Angular上下文内部执行。例如,假设你实现了一个setTimeout()或者使用第三方库并且想让事件运行在Angular上下文     内部时,就必须使用$apply()。

通常可以依赖于Angular提供的可用于视图中的任意指令来调用$apply()。所有ng-[event]

指令(比如ng-click、ng-keypress)都会调用$apply()。

此外还可以依赖于一系列Angular内置的服务来调用$digest()。比如$http服务会在XHR请求完成并触发更新返回值(promise)之后调用$apply()。

无论何时我们手动处理事件,使用第三方框架(比如jQuery、Facebook API),或者调用setTimeout(),都可以使用$apply()函数让Angular返回$digest循环。

当我们将jQuery和Angular集成在一起时(推荐不同时使用这两个框架),就需要使用$apply(),因为Angular不会察觉到执行在Angular上下文外部的事件。例如,在使用jQuery插件时(比如datepicker),就需要使用$apply()将来自jQuery的值传递到Angular应用中

例子:

datepicker插件暴露了一个onSelect事件,这个事件会在用户选择日期时触发。为了在Angular应用内部获取用户选择的日期,我们需要在$apply()函数内运行datepicker的回调函数

4. 今天的收获:

 以上。



返回列表 返回列表
评论

    分享到