本文初始编辑地址,源自我的CSDN博客:我的CSDN博客
今天基于原来的DEMO,将功能进行了调整。
如图所示,增加了一个新的controller,完成了增删改查的最后一步:查。
step1中还是使用ng-repeat遍历出的options,然后这个select又绑定了一个model,可以在controller用于判定用户的选项,然后根据这个选项,在users的数组中进行查找,最后,显示在查询结果的框中。
今天遇到的几个问题:
1.数据可视化和canvas视图留了一个坑。
2.突然发现controller之间的方法、变量不可以共享,例如我在下面的控制器中创建的用户数组:
1 2 3 4 5 6
| $scope.users=[ {...}, {...}, {...}, {...} ]
|
在上面查询控制器中无法访问,网上查询之,得到结果,原因是作用域无法访问,这点跟js比较像,两个在树形结构上是兄弟层级关系的节点,不能访问对方的内部变量。但是angular 可以像js一样,变量继承,因此,可以吧users挂到 相对比较高的祖先节点上,这样,其子控制器就可以访问到了。
3.在Step1的位置,出现了F5以后,默认出现一个空白options的现象,查看元素,得知该元素:
1
| <option value=" undefind!"></option>
|
于是采用了一个笨办法,手动添加一个
<option value="" selected=""></option>
然后,在ng-repeat的原始option选项中,也添加selected="selected",这样就OK了!
4.今天对各个控制器进行合理的切分,达到模块化的效果,例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| /*********根控制器的数据*********/ app.controller('rootctrl',function($scope){ $scope.users = [ {name:'LiMing',age:23,job:'fontAnggener'}, {name:'Hanmeimei',age:22,job:'teacher'}, {name:'Wangjie',age:25,job:'driver'}, {name:'Liusir',age:27,job:'business'}, {name:'guojingming',age:29,job:'editor'}, {name:'Yaoming',age:33,job:'player'} ]; }) /**********增加用户 控制器*************/ $scope.addUser = function(){ var index = $scope.users.length-1; $scope.users.push({name:'',age:'',job:''}); } /**********查询 控制器************ / $scope.jiansuo = function(){ var a = $scope.selectValue; $scope.result = a; if(a==""||null||undefined){ document.getElementById('sp').innerHTML="未选择/未输入!"; document.getElementById('inputInfo').setAttribute('placeholder','请先选择分类') } else{ document.getElementById('sp').innerHTML="您要查询的"+$scope.infos[a].name+"是:"+$scope.input; document.getElementById('inputInfo').setAttribute('placeholder','请输入具体的'+$scope.infos[a].name+"!"); } }; /********删除 控制器***********/ $scope.remove = function(index){ // if($scope.users.length<=1){ // $scope.users.splice(index,1) // } // else{} $scope.users.splice(index,1)
};
|
在切分这些控制器的过程中,一定要注意各个控制器的作用域,以及能否访问到调用数据。
GitHub:
https://github.com/ZQ-jhon/Manage-system-By-AngularJs/commits/master
觉得文章有用?点击下方打赏,鼓励作者更好的写作!