本文初始编辑地址,源自我的CSDN博客:我的CSDN博客
前言:接触前端快1满一年了,从什么都不会,一步步摸索,走到现在,觉得前方的路还是很迷茫,但是每天感觉自己都在进步,这是最好的!希望自己能坚持下去,也跟各位同仁共勉!
1 | @important message! |
直接上全部效果的演示图:
Let’s view together:
1.Angualr和Bootstrap的火花
Angular是开发SPA的得力框架,其数据双向绑定和指令系统能够最大程度的保持页面的
整洁干净,而Bootstrap作为一个UI库,也能够很好的满足本系统的需求。
2.思路
2.1 在后台人员管理系统中,需要有以下功能:增、删、改、查。
为了实现这些功能,就必须在项目中留好数据接口,方便跟后台数据进行I/O操作。
2.2 为了实现部分功能的 toggle(),例如:
点击编辑,文本框的可编辑状态会来回在: 可编辑/不可编辑 切换。
点击编辑,删除button的 show 与 hidden。
必须使用一个ng-show = bool/ng-disabled = !bool,bool的具体方法每次访问,会
更改布尔值为对立值:
1 | //初始化: |
而这个$scope
的bool()方法,应该位于$rootscope
是最好的解决方式,所有的局部
controller都可以访问到根作用域。
因此,改写如下:
1 | $rootscope.toggle = function(){ |
3.实现
3.1 框架搭建 :使用bootstrap搭建框架
3.2 初始数据展示:为了让用户有一个直观的展示,当前界面上会mock一些假的数据上
去,仅供参考(当然这些数据也可以删除),mock的方法为,在$scope
上绑定一个数
组,该数组是对象数组,然后用过ng-repeat来展现在我们的bootstrap表格中。
3.3 框架代码:
1 | <body> |
3.4 ng指令系统的控制原理与规划过程
3.4.1 指令构建
首先在表格上声明 `ng-app ="myapp"`
并且声明控制器`ng-controller="ctrl"`
接着,在需要toggle切换的地方赋值,如果默认要false,可以使用
ng-show="!bool"或者 ng-disabled="bool"
这里因为初始值是:
`$scope.bool = true`
然后,在$scope
上绑定初始数据,即一个对象组:
1 | var app=angular.module('myApp',[]); |
有了元数据,就可以为所欲为了,在需要的位置,例如 table 中的 tr 进行ng - repeat
循环,循环的结果是
对象数组中每一个对象!
然后在对应的<td></td>
中使用或者balalala进行取值
为了完成自动化序号排列以及删除功能,需要$index服务,不需要依赖注入。
当每个删除按钮点击的一瞬间,Angular如何判断该删除哪个呢?
我们为每一个删除按钮button添加一个指令 `ng-click = 'remove($index)'`
这里,Angular就是通过$index
来自行判定当前的行序。来看这一块的代码:
1 | <tr ng-repeat="user in users"> |
OK,删除,排序,Toggle功能都完成了,还有一个增加新用户怎么完成呢?
这个更简单了,直接往Object Array 里 push 对象即可:
1 | /****这是增加用户按钮的指令*****/ |
以上,就完成了一个后台管理系统,这是初始版本,后续我会增加新的功能在里面。
4.初步完成alpha版本,觉得还是有很多不足之处:
1.数据很糙,很杂,controller中的东西太过冗杂,而我并没有选择使用构建工具来模块
化、打包、合并,这不是一个好习惯。
2.所有的输入框没有加入过滤器,例如:姓名的位置我们可以用filter或者正则来强行限
定只能输英文,而不是数字或者标点。 这是一个细节不够完善的地方。
3.在点下编辑的时候,文本框变得可以编辑,再次点下编辑,文本框变成了丑丑的不可
编辑,我在想:**
如何可以使得文字在不可编辑的状态下自动切换为<p>
标签,而在可编辑的状态下变成<input>
表单?
**
4.自学了这么久ajax,nodejs,然而并没有从后端拉任何数据,所有数据都是angular来
进行操作的,这样也不好,我希望尽快精通express,来进行项目的全栈构建。
以上问题留给自己去解决。
最后,附上我的Github地址,fork 或者 download都可以
地址:https://github.com/ZQ-jhon/Manage-system-By-AngularJs
注意:将 index.html中的
1 | <script>以及<link>的src 及 href 替换 成本地目录 |
觉得文章有用?点击下方打赏,鼓励作者更好的写作!