位置: 编程技术 - 正文

AngularJS中controller控制器继承的使用方法

编辑:rootadmin

推荐整理分享AngularJS中controller控制器继承的使用方法,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

前沿

最近在angularjs项目当中,看到 controller 好多都是重复性的代码,在 controller 当中有好多代码很相似 function(比如 controller 下的 CRUD 方法),重复性工作太多。后来想,可不可以提出一个service ,但仔细想想,这些CRUD 本来就是从 Service 中调用的,如果在提出Service,会造成 Service 比较混乱,职责不清晰 。 因为自己做过一些后端,借助后端的思想,是不是可以 controller 继承。

controllerservice实现继承经过一番查阅资料,发现AngularJS已经帮我们提供了controller继承。我们只需借助 controllerservice 。$controller service api

嵌套控制器中属性是如何被继承的?

==属性值是字符串

以上,ParentCtrl中的name字段被ChildCtrl分享,但改变ChildCtrl中的name字段值却不会影响ParentCtrl中的name值,当改变ChildCtrl中的name值,ParentCtrl和ChildCtrl的嵌套关系被打破,再次改变ParentCtrl中的name字段值也不会影响ChildCtrl中的name值。

以上,给ParentCtrl中的变量赋值是字符串类型,如果给ParentCtrl中的字段赋值对象类型呢?

==属性值是对象

以上,ParentCtrl中vm对象的被ChildCtrl分享,当然也分享了对象中的name字段,当改变ChildCtrl中的vm.name值会影响到ParentCtrl,也就是不会把ParentCtrl和ChildCtrl之间的嵌套关系打破。

AngularJS中controller控制器继承的使用方法

嵌套控制器中方法是如何被继承的?

使用ArrayCtrl中的add方法,添加没问题;而且ArrayCtrl中的add方法也可以被CollctionCtrl使用;

而且在子控制器中可以重写父控制器中的方法。

代码案例

1.创建一个 base.controller.js 文件

代码很简单,我们在 BaseController中提供了一个简单的 formValid() 方法,还初始化调用了一个getList() 方法。

2.创建一个Service 。这个 service 来提供数据服务

3.创建child.controller.js 文件 也就是我们最主要的一个文件

这样,我们通过 $controller service 实现了 controller 的继承 ,也可以把 child controller 需要的注入的服务 传入到 base controller 当中 。({ $scope, $scope,CRUDServices:ExtendServices }),我们child controlller 一行代码都没有写,就已经用了 获取 列表的 magic power 。如果我们需要调用表单验证,直接调用 vm.bFormValid() 就可以。

4.创建child.html 文件 ,我们直接 绑定就ok

结束语

这样下来以后我们可以提出一个 公共的 controller ,封装一些常用的方法,在 controller当中,只需要去写关于业务不同的 方法。 代码可维护性大大提高,代码量也会减下来。

标签: AngularJS中controller控制器继承的使用方法

本文链接地址:https://www.jiuchutong.com/biancheng/375857.html 转载请保留说明!

上一篇:vue解决跨域路由冲突问题思路解析(vue如何处理跨域)

下一篇:angular中ui calendar的一些使用心得(推荐)

  • 小产权二手房买卖注意些什么
  • 增量留底退税基数是多少?
  • 私募基金如何做大规模
  • 利息收入需要交印花税吗
  • 债权投资减值的账务处理
  • 招待用烟的会计处理
  • 企业所得税汇算清缴补缴税款分录
  • 联合开发合作模式
  • 不是企业性质的民办学校要交什么税
  • 专票可以当费用票吗
  • 地方教育附加费是什么意思
  • 金融行业小规模纳税人税率
  • 资产负债率之比
  • 直接转让土地使用权 土地增值税申报表
  • 免税和零税率和税率区别
  • 金融企业哪些呆账损失可以在税前扣除?
  • 工商注销债务承担
  • 分公司使用总公司业绩投标
  • 股权转让会计处理
  • windows11安装后卡顿
  • 教您电脑网速很慢怎么办
  • 因质量问题退货和收回的药品应当
  • 财政拨款事业单位和全额事业单位
  • 往来款的意义
  • 企业所得税会计利润
  • apkpure 安全
  • 木星应该涂什么颜色
  • 促销商品的方法
  • 劳务所得税怎么计算公式
  • 什么叫股权溢价之谜?
  • 转让旧固定资产怎么做账
  • 小企业会计准则财务报表至少包括
  • 如何免费使用超级简历
  • thinkphp自定义标签page
  • 应收账款怎么做账
  • php点运算符
  • 服务业销售收入
  • 会议费需要纳税调整吗
  • 私人打款到对公账户要交税吗
  • 外包食堂可以开专票吗
  • 固定资产报废如何记账
  • 公司缴纳的印花税会计分录
  • phpcms 标签
  • 境外捐赠入账
  • 帝国cms数据库如何使用
  • 合并报表的会计主体
  • 公司做的样品展示怎么入账
  • 个人所得的账务处理分录
  • 固定资产折旧及残值率
  • 增值税纳税申报实训报告
  • 专项资金支出时间规定
  • 个体工商户开具房屋租赁发票
  • 结构性存款现金流量表流入里放在哪里
  • 付了电费当月没有收到发票
  • 现金流量表的编制基础是权责发生制
  • 待处理财产损益是备抵类科目吗
  • 在MySQL中使用STRAIGHT_JOIN的教程
  • mysql precision
  • sql语句提取字符串中数字
  • fedora os
  • win10快速启动什么意思
  • Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易配置方法
  • linux开机启动ftp
  • WIN7系统怎么删除UG其它版本的许可证
  • 国产系统麒麟和统信
  • schedhlp.exe - schedhlp是什么进程 作用是什么
  • 如何关闭自动启动项目
  • win8系统如何关闭防火墙
  • windows 8
  • wps linux版本是什么意思
  • jQuery中的ajax async同步和异步详解
  • Android与OpenCV2.4.4(2013最新)搭建图像处理框架
  • OSG 砖块 shader 例子 GLSL
  • jquery实战
  • 网页设计中span
  • html标签页效果
  • html微信
  • 网上报个人所得税
  • 深圳市税务网上注销流程图
  • 关于公司纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设