位置: 编程技术 - 正文

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

  • 金税盘开票软件服务电话
  • 增值税普通发票税率
  • 用现金支付的没有发票怎么办
  • 材料入库的会计分录材料采购损失
  • 报销金额大于发票金额几毛钱
  • 公司不交工会经费的原因,风险说明
  • 残保金申报工资应该是实发数吗
  • 汇算清缴报告和审计报告有什么区别
  • 厂家试驾车和经销商试驾车
  • 职工取暖费可以一次性发放吗
  • 融资租赁的长期投资包括
  • 固定资产并账
  • 租金收入未收到 税法规定
  • 利息收入要不要交增值税?
  • 停车场增加收入
  • 印花税记到哪个会计科目
  • 对方给我们开发票
  • 支付往来款项应该注意什么
  • 哪里查询发票是否抵扣
  • 资产评估合同属于什么合同
  • 或有事项确认资金怎么填
  • 主营业务收到的现金
  • 项目款申请
  • 工程安装成本分录
  • 个人所得税和企业所得税都要交吗
  • 成本核算的意义是什么
  • win11怎么录屏游戏
  • 关于出售使用过的车辆
  • 又十个超级有用的PHP代码片段
  • 会计分录内容包括
  • 自然保护什么意思
  • 集群怎么写
  • 波白克岛的小尖塔岩石,英格兰多塞特 (© James Osmond/Alamy)
  • 固定资产评估如何做
  • linux信号的本质
  • vuex用法和原理
  • linux 运行php
  • 增值税专用发票的税率是多少啊
  • 支付应付账款的文章怎么写的
  • 销售收入是不是销售额
  • 发票纳税识别号和名称打印出来不齐怎么回事
  • 当月认证的发票可以撤销吗
  • python poetry如何创建项目
  • 现金发放工资会计科目怎么写
  • 企业开户行信息是什么意思
  • 套期保值和套期图利
  • 微信收款和支付宝收款有啥区别
  • sql server 2008 安装文件
  • 销售边角料税率是多少
  • 没有海关完税凭证怎么入账
  • 住宿发票费率是多少
  • 在建工程的消防要求
  • 政府专项补贴资金应列入什么科目
  • 工资计提和发放账务处理
  • 会计人员基本信息表去哪找
  • centos如何挂载镜像
  • 通过注册表删除脱机打印机
  • win8.1使用
  • 两台mac怎么同步
  • win10系统运行速度慢
  • 组策略配置锁屏
  • win10如何快速打开设置
  • Win10预览版镜像
  • javascript程序代码
  • cocos creator rpg
  • Knockout visible绑定使用方法
  • windows 2002关机
  • JAVAscript字符串类型单引号和双引号意一样吗
  • Android studio 无法勾选sdk
  • 深入学习习总书记系列讲话精神
  • python中二维列表的定义
  • python socket用法
  • 对税务机关的意见建议怎么写
  • 纳税申报表作废了怎么重新报?
  • 税务ukey怎么升级不了
  • 饮料开专票几个点
  • 环保税按次申报需要交滞纳金吗
  • 企业代缴房产税可以入账吗
  • 黔西南州医疗保险报销比例
  • 广州市地税服务大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设