位置: 编程技术 - 正文

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的一些使用心得(推荐)

  • 缴纳房产税怎么记账
  • 缴纳城镇土地使用税
  • 企业返聘退休人员劳务合同
  • 怎么理解财务会计与管理会计
  • 金蝶可以自动结转成本吗
  • 减免所得税优惠明细表怎么填
  • 新成立的公司一般纳税人还是小规模纳税人好
  • 制作费发票明细怎么填
  • 免税店含增值税吗
  • 利用个独企业避税犯法吗
  • 原材料的运杂费会计分录
  • 打车发票丢了怎么办
  • 贷款计提利息会计分录
  • 5%征收率的适用范围
  • 小规模纳税人没有成本票怎么做账
  • 一般纳税人企业要交哪些税
  • 营改增后税金由哪几项费用组成
  • 风险纳税人怎么查原因
  • 购买粽子开的餐饮发票
  • 购销合同怎么签订
  • 收到政府征地补偿款
  • 本月已认证发票还能撤销吗
  • 合并报表的收入
  • 对外支付代扣代缴增值税如何申报
  • 拆除原有建筑物成本扣除
  • mac系统技巧
  • windows10如何关闭左下角的搜索
  • mac怎么传文件到百度网盘上
  • win11版本22000.194
  • linux系统的
  • 抵债资产会计核算
  • 重命名电脑名称有什么用
  • 电子钥匙续费应用在哪里
  • 营改增项目
  • h5调用海康摄像头
  • passwd -s命令
  • js异步解决方案
  • 房地产开发企业销售自行开发的房地产项目
  • 工业企业制造费用占比
  • 跳出框架是什么意思
  • php header refresh
  • 删除组合命令
  • 现代服务印花税税率
  • 开了红字信息表当月怎么做账
  • 营改增后不得抵扣的进项税额
  • 增值税申报系统登录密码
  • java中的变量
  • 开源 okr
  • sklearn实例
  • 3分钟学会做蛋挞
  • 劳务成本 科目
  • 长期待摊费用的最新账务处理
  • 费用报销审批单和费用报销单区别
  • 新版个税申报系统查询
  • 公司废料收入如何开票
  • 税前扣除项目主要包括
  • 固定资产增加
  • 保险合同包含什么
  • 实收资本入账需要算设备安装费吗
  • 成品油购进数据选择没有发票
  • 合同分三次付款怎么写
  • 售后租回会计处理分录
  • mysql数据库windows
  • linux系统bug
  • windows10磁盘
  • centos搭建服务器
  • unity3d documentation
  • perl脚本调试方法
  • vue js组件
  • Node.js中的construct构造函数
  • 在javascript中如何定义并调用函数
  • jquery控制滚动条位置
  • python 汉诺塔
  • 江苏电子税务局电话
  • 黑龙江电子税务局
  • 党员走访群众问题汇总
  • 纳税服务投诉整改报告
  • 最常见的财税知识
  • 税收优惠政策能调动公众的捐赠积极性
  • 辽宁省耕地占用税适用税额表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设