2019/10/22 工作总结
1. 使用ng-if时,当if的条件刚刚为true时,如果立刻调用document.getElementById来修改这个DOM的CSS格式,会因为该DOM还未生成而报错(该DOM为null),暂时的解决方法是修改为ng-show。
2. 输入框设置为input type = number时,若是加上min、max或者step(限制小数点后几位)等限制条件时,只有在该输入框在form内且按钮为submit时才会自动弹出报错框。如果按钮只是button的话,则上述限制条件只会在点击框内右侧上下调节数字箭头时才会生效,直接用键盘输入任意数字则不会受到上述限制的约束,而只会在按下按钮提交时提交一个null值。因此在无form时需要手动加代码来判断输入是否为null,如果为null则弹出自定义的报错框。特别注意,如果该输入的初始值或者min=0, 则不能用if(初始值)来判断,而是应该用if(初始值 == null)来判断,因为前者会在初始值等于0的时候通过。
3. 如下例所述:
<div ng-repeat="s in ctrl.scorings | orderBy : ['FormID', 'StartNumber']">
在ng-repeat 中可以使用orderBy来依次根据多个属性排序数据。
4. Typescript中使用toFixed来限制number的小数位数。
5. 如下例所述:
<select class="form-control" ng-model="ctrl.AnswerKeySelectedForm" ng-options="Form as ctrl.FormList.indexOf(Form) + 1 + '. ' + Form for Form in ctrl.FormList"></select>
在ng-options中,如果显示的内容和选中的value需要不一样的话,则可用XXX(value) as XXX(显示的内容) for XXX in XXX。
6. 使用Modal弹出框时,可以设置backdrop为static来禁止通过点击弹出框外面的页面部分来关闭弹出框,也可以设置keyboard为false来禁止通过键盘的Esc来关闭弹窗。每次使用Modal弹出框,都应该认真考虑是否使用上述的设置。如果只是简单的提示操作成功与否则无需使用,如果是需要选择是与否或者从一串选项中选出某些选项等等这类较为复杂的操作时则应该使用。更笼统的说的话,应该根据该Modal返回的.result.then中的代码是否有具体的操作来判断。

浙公网安备 33010602011771号