首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何知道enyo组件的“种类”?

如何知道enyo组件的“种类”?
EN

Stack Overflow用户
提问于 2013-04-24 18:12:58
回答 2查看 793关注 0票数 1

我有一个类似tweetEnyo的组件,是用enyo脚本创建的。基于它的类型,我想执行一些操作。

有没有办法在运行时找到在enyo中创建的那种组件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-24 21:30:20

您应该能够在运行时访问kind属性。下面是一个检测所选项目类型的示例:

http://jsfiddle.net/RoySutton/frTFK/

如果需要使用调试器查找它,可以将ID与全局enyo对象的$ hash一起使用。例如:

代码语言:javascript
复制
enyo.$.app_myKind.kind

我不是想从即将发布的博客文章中抢风头,但在Chrome/Firefox网页检查器中,$0是最后一个被检查的元素。因此,enyo.$[$0.id].kind是被检查项的类型。

我确实注意到,在我的示例中,App与它没有任何关联。这就是为什么。

更新: App没有使用特定的类型声明,将回退到父级的默认类型,在本例中为Control。您可以使用.defaultKind访问该值。此外,您可以使用对kind的实际引用来指定kind (例如kind:enyo.Button),因此不能依赖.kind

获取名称的正确方法是使用.kindName,它将是实际的类型。

票数 3
EN

Stack Overflow用户

发布于 2013-04-24 18:43:08

来自enyo网站:

基本enyo.Control的工作方式与

标记非常相似。您可以指定类和属性,并为其指定样式。例如。

代码语言:javascript
复制
new enyo.Control({content: "Hello From Enyo", classes: "foo",
    style: "color: red", attributes: {tabIndex: 0}}).renderInto(document.body);

所以你可以这样做:

代码语言:javascript
复制
new enyo.Control({content: "Hello From Enyo", classes: "foo",
                  style: "color: red", attributes: {tabIndex: 0, enyo:true}}).renderInto(document.body);

这会将enyo的attr设置为true并进行检查。任何具有该属性的组件都是enyo组件。

示例:http://jsfiddle.net/NKTRe/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16189305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档