发表于: 2019-11-07 21:04:15
1 1158
今天完成的事情:
解决报错
今天帮着一个外院的师弟教导登录问题
配置跨域之后,启动项目的方式已经被改变,可以直接输入npm start直接启动项目,
也可以输入你在跨域文件里面配置好的命令行启动项目
如果配置好跨域之后直接用--open启动项目,会由于项目找不到地址会报
504 请求服务器超时,其实根本没找到
如果是你配置出了问题
他就会报配置文件缺失,或者配置文件地址出错。
今天遇到一个很有趣的问题,就是在angular里面不用routing能不能做到页面跳转,
如果没有routing,module也能起到最基本的作用,
如果通信正常
账号密码正确
code就会为0
那么直接用判断语句判断
如果code为0,就通过window.location.href来跳转页面
由于在根目录的routing-module里面设置好了
所以有routing,有渲染页面的搞法,没有routing也有的是办法。
遇到的问题:
自定义 ngModel
在 Angular.js 中 ng-model 只能用于 input,select 等内置的 HTML 表单元素,如果是一个自定义的 select 框(div),可能就无法使用自带的 required 等验证器了
但是可以通过猥琐的方式处理,比如加一个隐藏的原生 HTML 表单元素,这个元素上绑定的 ng-model 和自定义的 select 框的 model 是一样的,然后通过这个隐藏元素是否验证通过去控制自定义 Select 的验证样式
那么在 Angular 中可以很方便让任何自定义的组件使用 ngModel 和 内置的验证器,只要你的自定义组件实现 ControlValueAccessor 接口,同时在组件的 providers 中加上 NGVALUEACCESSOR 的 provider 即可,具体如何实现一个自定义的支持 ngModel 组件自行搜索下,官方文档好像没有找到相关介绍, 附一个 stackoverflow question
结构型指令内部的表单元素自动识别
在 Angular.js 中如果有 ng-if 之类的动态指令,内部的表单元素不会自动追加到 Form 上,必须通过扩展一个自定义指令 dynamicFormControl
去手动追加到 ngForm 上,但是在 Angular 中不需要用户自己去处理,只要元素被渲染,会自动附加到 ngForm Controls 中。
响应式表单
Angular 中除了模板驱动表单外,还新增了响应式表单,让用户多了一份选择,在某些复杂的场景下,响应式表单会更有优势。
动态表单支持更好
在 Angular 中不管是模板驱动表单还是响应式表单,对于动态创建表单的支持都很好,可以轻松的通过 [attr.name]="formName"
和 [name]="formName"
实现动态表单元素的创建。如果有复杂的验证器,那么使用 响应式表单
会更好。
模板驱动表单验证器支持属性绑定,动态控制是否需要验证
如果一个表单元素(比如说用户名)是否为必填不是确定的,而是动态设置的, 在 Angular 中可以通过属性绑定 [required]="isRequired"
非常方便的控制,我看了下 Angular.js 的源码现在也是支持的,不知道是我以前没有发现呢还是之后的版本加上的功能。
支持异步验证器
如果要验证用户名输入是否已经存在,就需要请求 API 远程验证,那么这个验证就是一个异步,如果验证不支持就会导致验证结果没有返回的时候就直接提交表单了。如果支持异步会更加的完善
UI组件表单报错
无脑报缺失
找不到绑定模块
把个模块放他脸上,还是找不到
除非删的只剩下一个input框,不加任何功能才不报错
无解
明天向师兄求救
评论