位置: 编程技术 - 正文

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

  • 工会经费的计税依据是含税还是不含税
  • 所得税的会计分录怎么做
  • 发票签字有什么用
  • 车间设备折旧费属于制造费用吗
  • 个人住房租赁给单位怎么交税
  • 建筑业会计科目工程结算
  • 工作未满12个月被辞退时前月平均工资怎么计算
  • 递延收益没有应列入哪个科目
  • 先征后返的所得税账务处理
  • 收到供应商赔偿的违约金
  • 退租未摊销的装修费会计分录怎么写
  • 按月付息到期还本的贷款可以提前还款吗
  • 支付保安公司的钱违法吗
  • 企业利息收入要交所得税吗
  • 税号开错了
  • 企业间借贷利息如何入账
  • 增值税的税负率就是用应缴纳的增值税总额
  • 净利润含不含所得税
  • 建筑业预征缴纳税款
  • 物业费收入的增值税税率是多少
  • 连号发票税务风险
  • 研发支出资本化支出在报表哪里
  • 企业研发产品成本怎么算
  • 来的货比合同金额多怎么申报印花税?
  • 金税盘发票份数没有显示
  • 小规模纳税人纳税期限
  • php 生成验证码
  • 公司资产转让要交多少税
  • 收到现金股利会引起什么变化
  • php5升级到php7
  • vscode配置javafx
  • 企业发放年终奖政府有哪些规定?
  • PHP:imagecopymerge()的用法_GD库图像处理函数
  • html简单的游戏
  • 社保工伤退费会计分录
  • 企业所有的支出是什么
  • svn命令行拉取代码
  • 去年发生了什么
  • wind安装
  • sql server基本知识
  • 拒收发票需要拒收证明么
  • 公司购买的车辆折旧年限
  • 财务费用怎么用
  • 堤防维护费税率
  • 公司的旅游费怎么处理
  • 公司购买黄金送客户可以抵税吗
  • 做账一定要计提本月工资吗
  • 从银行取现金是什么凭证
  • 财务费用范畴
  • 超市账目
  • 对公账户提取备用金怎么做账
  • 登记总分类账的依据有
  • 企业注销怎么回事
  • 卡巴斯基key
  • 怎么提升命令提示符
  • soundtrax.exe - soundtrax是什么进程
  • Win7的sysprep工具怎么用 win7自带sysprep工具重置系统方法
  • windows 7的用户类型
  • win8怎么打开管理员命令提示符
  • linux如何使用双屏
  • jquery自定义
  • Broadcast实现强制下线功能
  • jquery插件怎么用到自己的网站
  • [置顶]公主大人接下来是拷问时间31
  • python内置函数用来打开或创建文件并返回文件对象
  • android javascript 混淆配置。
  • jquery中的事件
  • js优化108条建议
  • ApplicationId与PackageName的区别
  • 四川省国家税务局电子税务局
  • 重庆市电子发票样式
  • 四川地方税务局网址是什么
  • 湖南省低保电话是多少?
  • 非贸付汇代扣代缴企业所得税
  • 泌阳县国土资源局崔超
  • 污水处理厂房产税优惠政策
  • 广东省电子税务局app下载手机版
  • 国家税务总局56号
  • 物业优质服务我们在行动
  • 网上办税服务厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设