现象如图所示,原本我是直接通过 switch 对 vm.pageIndex 进行赋值运算的,但是不成功,所以我引入了一个中间变量p以便更好的去观察,结果依然不成功,效果如下:
接着,我将这段代码放在一个干净的测试页面中,发现一切正常,但这段代码中间并没有任何其它干扰因素啊,为什么会出现这种情况。干净代码:
vm.pageIndex=1; vm.pageCount=10; function test(options){ console.log(vm.pageIndex); switch(options){ case -1: vm.pageIndex=Math.max(--vm.pageIndex,1); break; case 1: vm.pageIndex=Math.min(++vm.pageIndex,vm.pageCount); break; case 2: vm.pageIndex=vm.pageCount; break; default: vm.pageIndex=1; break; } console.log(vm.pageIndex); }
补充:if...else if...else也试过了,效果一样,也失败了。但控制台修改变量值没问题。
if (options.pageDirec==-1) { vm.pageIndex=Math.max(--vm.pageIndex,1); }else if (options.pageDirec==1) { vm.pageIndex=Math.min(++vm.pageIndex,vm.pageCount); }else if (options.pageDirec==2) { vm.pageIndex=vm.pageCount; }else{ vm.pageIndex=1; }
Demorgn
黑羊之墙hxs
相关分类