摘要: PublishedPropertiesenyo.Objectenyo.Object实现了enyo框架属性的公共方法(前面有一篇简单介绍enyo.Object类源码的博客)。published属性定义在enyo.kind内部的published表中。所有声明为published的属性都自动添加了get和set方法。Published属性的set方法都会触发<propertyName>Changed的可选方法。 在下面的例子中,myValue成为“MyObject”原型的常规属性,并继承了set方法: 1 enyo.kind({ 2 name: "MyObject" 阅读全文
posted @ 2013-01-09 21:14 外卖 阅读(277) 评论(0) 推荐(0) 编辑
摘要: EventHandling Enyo采用了消息传递策略来间接地在不同组件之间通信。我们把这些信息作为事件,这与常见的DOM用法一直。一般事件按照child-parent顺序在组件树中冒泡。在使用dom包时,DOM事件和自定义事件是一致的。 使用事件的关键在于component组件设计的封装。大部分时候,一个component的children不应当知道他们的父类。所有child发出的事件应当由父类决定是否处理而不应在child中调用父类的方法处理事件。 虽然由child向parent发送事件是enyo的标准,但在一些情况下这种实现模式效率低下且代码笨拙。因此enyo还提供了另一种通信方法... 阅读全文
posted @ 2013-01-09 21:01 外卖 阅读(379) 评论(0) 推荐(0) 编辑
摘要: ObjectLifecycleLifecycleMethodsinEnyoATrivialKindEnyo的kind使用常规的js原型。一个kind有简单的生命周期。1 var MyKind = enyo.kind({2 kind: null, // otherwise it will default to 'Control'3 constructor: function() {4 // do any initialization tasks5 }6 }); 现在MyKind是一个可以使用new方法创建实例的函数了。MyKind函数是一个调用构造函数的... 阅读全文
posted @ 2013-01-09 20:31 外卖 阅读(323) 评论(0) 推荐(0) 编辑
摘要: CreatingKindsenyo.kind enyo.kind是enyo框架生成kind的方法。一个kind是一个拥有高级特性(如原型链)的原型构造函数。 Kind生成器的扩展能力包括插件系统,构造函数允许执行自定义的子类操作。 在本片文章中,我们将会看到当enyo.kind方法被调用时会发生的几件事。要学习调用过程中发生什么你需要一个实例化的object,参考ObjectLieftcycle。SpecialPropertyNames 通常,定义在inProps对象的属性都是直接拷贝到生成原型中,但是一些属性名会进行特殊的处理。一些特殊属性中例子:Name:在全局命名空间中定义的构造... 阅读全文
posted @ 2013-01-09 20:02 外卖 阅读(968) 评论(0) 推荐(1) 编辑