Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

propsInAttrs 的必要性 #51

Open
lifesinger opened this issue Jun 20, 2013 · 2 comments
Open

propsInAttrs 的必要性 #51

lifesinger opened this issue Jun 20, 2013 · 2 comments
Labels

Comments

@lifesinger
Copy link
Member

    // config 中的这些键值会直接添加到实例上,转换成 properties
    propsInAttrs: ['initElement', 'element', 'events'],

这里面的值,最开始是 element, events, model, template,初衷是提供一种简写方式:

this.element 等价 this.get('element')
this.model 等价 this.get('model')

是一种语法糖。后来因为发现 this.templatethis.model 实际上比较少用,所有在上次修改中去掉了。

今天 CR 代码,看到 events 还在,同时还增加了 initElement,再仔细回顾『初心』:

propsInAttrs 是一种简化书写的语法糖

越发觉得 propsInAttrs 是个糟糕的设计,是否应该直接都放到 attrs 里就好?

如果要保留的话,也仅保留 element 就行,让 this.element 等价 this.get("element"),同时在继承时,会自动处理好值的继承?

@popomore
Copy link
Member

propsInAttrs 确实不太好,有潜规则容易造成误解,而且代码实现上很绕,如果可能的话确实可以去掉。

但是考虑下 events 放在 attr 中是否妥当,events 是 widget 的特性,不应该放到 attr 中。

@lifesinger
Copy link
Member Author

嗯,events 和 attrs 是平级的。

当初搞出 propsInAttrs,还有一个目的是复用 attrs 的继承 merge 代码。这一块小高再看下。如果能去掉最好。

2013/6/20 Haoliang Gao [email protected]

propsInAttrs 确实不太好,有潜规则容易造成误解,而且代码实现上很绕,如果可能的话确实可以去掉。

但是考虑下 events 放在 attr 中是否妥当,events 是 widget 的特性,不应该放到 attr 中。


Reply to this email directly or view it on GitHubhttps://github.com//issues/51#issuecomment-19727833
.

王保平 / 玉伯(射雕)
送人玫瑰手有余香

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants