我正在使用Ext.define()以ExtJS的新MVC方式编写所有组件。

无论是在initComponent()内定义属性还是通过像property: 42,那样简单地设置属性,我都有些挣扎。

有被广泛接受的最佳实践吗?

我在只有在必要时才使用initComponent()(即,当我想要动态的东西或设置范围时)使功能更短并为我节省了一些丑陋的this.,而始终使用它却有好处,这是我永远都不会拥有的将以前的属性移到initComponent()仅仅是因为我想使其更加动态。

不幸的是,Sencha的文档并没有提供太多信息,可用的示例似乎可以满足他们的要求。

最佳答案

私有(private)练习,我将在属性区域中声明变量时

定义幅度的

  • 变量,例如xywidthheight
  • 等待被覆盖或可自定义的
  • 变量,例如titlesaveBtnTxturlfieldsiconCls
  • 一些常量,这些常量将具有特殊的前缀,因此不会轻易覆盖

  • 然后,我将声明itemslistenersthis.onExt.apply(me, {..})或任何需要obj范围的内容(thisme)放入我的initComponent内。或者应该在一切设置之前修改/覆盖的内容,这样用户就不会通过覆盖一些重要的变量来破坏我的组件。

    当然,这将作为我的指导。 2美分

    编辑

    关于丑陋的this,我在应用程序中广泛使用了me变量,它看起来比this干净得多。它也从不那么频繁地更改范围中受益。

    关于javascript - 有关Ext.define()中的initComponent()的最佳实践,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6871594/

    10-11 11:44