发表于: 2017-05-22 21:55:20

1 1034


一、今天完成的事情:

1,重构了新增功能,并通过agularJS入门与进阶这本书学习有关监听的一些知识点。

2,通过agularJS入门与进阶这本书学习有关Promise的知识。


二、明天计划的事情:

1,完善新增功能内图片上传以及监听到进度条的功能。

2,编写列表的编辑功能。


三、遇到的问题:

1,暂无问题


四、收获:

1,监听:


1)$watch是scope内置的函数,它的作用是用来监听数据的变化。 
2)$watch可监听哪些数据? 
单个对象的属性 
需要计算的结果(函数) 
3)语法: $scope.$watch(F,M,B);

F:

要监听的数据(表达式或函数的字符串),主要是监听这些数据改变没有。它会返回被监听数据的当前值

M:

当监听的数据发生变化时,就会调用M(它是函数或表达式)。如果是函数形多,则会接收到F的新旧两个值和作用域对象,

示例:$scope.$watch("formData",function(newValue,oldValue, scope) {

     //这里是监听的数据发生变化后调用      

     //formData是$scope.formData={};里的      

} }, true);

B:

为true时:将会检查监听对象的每个属性是否发生变化。适用于监听数组或者监听的是一个对象上的所有属性。由于每次都要遍历监听对象的值是否发生变化,如果数组值过多,或对象属性多,那么一点点改变就会造成大量的遍历。,

2,对Promise的理解

依照 Promise/A+ 的定义,Promise有四种状态:

pending: 初始状态, 非 fulfilled 或 rejected. fulfilled: 成功的操作. rejected: 失败的操作. settled: Promise已被fulfilled或rejected,且不是pending

另外,fulfilled 与 rejected一起合称settled

Promise对象用来进行延迟(deferred) 和异步(asynchronous ) 计算。

Promise 构造函数

构造一个Promise,最基本的用法如下:

var promise = new Promise(function(resolve, reject) {    

         if (...) {  // succeed        

             resolve(result);    } 

         else {   // fails        

             reject(Error(errMessage));    

        } });

Promise实例拥有then方法(具有 then方法的对象,通常被称为thenable)。它的使用方法如下:

promise.then(onFulfilled, onRejected)

接收两个函数作为参数,一个在fulfilled的时候被调用,一个在rejected的时候被调用,接收参数就是future onfulfilled 对应resover, onRejected 对应reject




返回列表 返回列表
评论

    分享到