发表于: 2019-11-06 22:39:03
1 1062
今天完成的事情:
重构angular代码
任务六
1.首先解决跨域问题
在项目根目录下新建文件,取名proxy.config.json,文件内容为
在package.json配置文件内修改属性,将第六行代码
修改成
login目录下新建service服务文件,引入HttpClient以及HttpHeaders模块
并在service的constructor内声明HttpClient>>>
在service服务内定义接口变量>>>
在service新建一个函数
最后在login的ts文件内,定义一个与html文件点击事件对应的函数,并且定义一个变量为要传输的值
这样页面跳转就完成了
关于数据绑定
从两个按钮的点击到数据的变更,这个很好理解,没有直接使用DOM的onclick方法,而是搞了一个ng-click,然后在bind里面把这个ng-click对应的函数拿出来,绑定到onclick的事件处理函数中。为什么要这样呢?因为数据虽然变更了,但是还没有往界面上填充,我们需要在此做一些附加操作。
从另外一个方面看,当数据变更的时候,需要把这个变更应用到界面上,也就是那三个span里。但由于Angular使用的是脏检测,意味着当改变数据之后,你自己要做一些事情来触发脏检测,然后再应用到这个数据对应的DOM元素上。
一些基于setter的框架,它可以在给数据设值的时候,对DOM元素上的绑定变量作重新赋值。脏检测的机制没有这个阶段,它没有任何途径在数据变更之后立即得到通知,所以只能在每个事件入口中手动调用apply(),把数据的变更应用到界面上。在真正的Angular实现中,这里先进行脏检测,确定数据有变化了,然后才对界面设值。
所以,我们在ng-click里面封装真正的click,最重要的作用是为了在之后追加一次apply(),把数据的变更应用到界面上去。
评论