- Moye 开发规则
- Module: MoyeUtils 工具方法
- Class: Moye
- Class: Resource
- Class: Scene
- Class: ServiceClient
- 按钮 / Button
- 日历 / Calendar
- 城市选择器 / City
- 对话框 / Dialog
- 懒图片 / LazyImg
- 走马灯 / Marquee
- 翻页器 / Pager
- 浮层 / Popup
- 评分 / Rating
- 下拉框 / Select
- 轮播图 / Slider
- 选项卡 / Tab
- 文本框 / TextBox
- 提示 / Tip
- 表单 / Form
- 单复选框 / BoxGroup
- 开始 / get started
- 最佳实践 / best practice
- 开发指南 / introduction
- 插件 / Plugin
- 生命周期 / life cycle
- 皮肤 / skin
- 继承 / inherits
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
继承 / inherits
每个可实例化的moye
控件都应该继承自Control
基类。可以通过Control.extend(proto)
方法来创建一个新的控件类。
参数proto
是一个Object
类型对象,其所有属性都被合并到新控件的原型链对象上。因此,可以在proto
上挂接所需要的属性或方法,控件实例可以直接访问。
var Control = require('moye/Control'); var Test = Control.extend({ type: 'Test', init: function (options) { this.$parent(options); }, initStructure: function () { this.main.innerHTML = 'test'; }, initEvents: function () { $(this.main).on('click', $.proxy(this.onMainClick, this)); }, onMainClick: function (e) { console.log('test clicked'); }, dispose: function () { $(this.main).off('click'); this.$parent(); } }); var Test2 = Test.extend({ type: 'Test2', onMainClick: function (e) { console.log('test2 clicked'); this.$parent(e); } });
可以通过覆盖基类Control
提供了一系列的接口来实现子控件的具体交互逻辑。这里主要想介绍一下调用父类接口的方法,即:
// 凡是覆盖父类接口的方法(@override)中, // 都可以使用`this.$parent(args)`的方式来调用父类接口 this.$parent( ... );
因此,在Test2实例的主元素被点击进会在控制输出如下结果:
test2 clicked test clicked
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论