位置: 编程技术 - 正文

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

  • 小规模拍卖公司佣金怎么交税
  • 如何注销一般纳税人账户
  • 非征税期抄税如何解决
  • 增值税纳税义务发生时间的规定
  • 发票遗失重开需要收费吗
  • 固定资产盘点账务处理
  • 预收账款转营业外收入账务处理
  • 房产税的纳税义务
  • 单位支付给职工的一次性补助金怎么入账
  • 过渡期损益会计分录
  • 公允价值变动是减值吗
  • 工会捐款规定
  • 当月预交增值税时所属期选了上期怎么办
  • 销售包装物的会计处理
  • 佣金付给别人公司违法吗
  • 虚开发票的受票企业将会受到什么处罚?
  • 非独立核算的分公司是什么意思
  • 计提所得税是在哪个科目
  • 收回代扣社保怎么处理
  • 小规模需要交所得税吗
  • 销售商品发生的业务招待费计入什么科目
  • 系统设置自动还原
  • 废品损失涉及的税种
  • 由于找不到msvcr120.dll,无法继续执行代码什么意思
  • 补缴社保会被税务稽查吗
  • 代开票作废税未退该如何分录?
  • 买新车注意事项与提车流程
  • 图森在哪
  • 工业企业成本核算的内容是
  • php的序列化操作生成的哪种格式
  • PHP中strpos、strstr和stripos、stristr函数分析
  • string对象放在哪里
  • php源码封装
  • 销售自己使用过的物品的税率
  • 加油票没有纳税怎么办
  • 销售车位怎么找客户
  • 大数据sql教程
  • 施工单位转包需要受到什么惩罚
  • 银行开户费属于现金流量表的哪一类
  • 企业如何做增值业务
  • 汇款汇给别人了应该怎么办
  • 小规模纳税人出租不动产优惠政策
  • 城镇土地使用税怎么算
  • 企业固定资产可以不提折旧吗
  • 住宿费报销该怎么报
  • 购入研发设备可以全额抵扣吗
  • 跨年的应收账款多做了怎么做账
  • 利润是用含税价还是去税价
  • 企业汇算清缴需要提供什么资料
  • 伤残就业补偿金记入什么科目
  • 固定资产是指什么
  • Suse Linux 10中MySql安装与配置步骤
  • sql server 数据库介绍
  • sql server中Select count(*)和Count(1)的区别和执行方式
  • Excel导入Sqlserver数据库脚本
  • linux运行级别定义在
  • 其他操作系统类型
  • dnfxp系统能玩吗
  • win2003server远程设置
  • mac怎么看文件
  • linux如何拨号
  • linux编译安装怎么卸载
  • linux的tar
  • culauncherexe是什么进程
  • windows8怎么使用
  • 样式默认有几种修改格式
  • android之Java+html+javascript混合开发
  • python文件管理系统难点总结
  • python指令生成脚本
  • install ubuntu kylin
  • javascript例题
  • jquery单击事件和双击事件
  • android开发的难点
  • python消息队列感知消息被消费
  • 银行赠送礼品活动方案
  • 浙江省社保网报系统
  • 个人所得税申报是什么意思
  • 纳税申报2020年2月
  • 龙岗税务分局管辖范围
  • 省税务局属于什么级别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设