天天看點

[ExtJS5學習筆記]第二十一節 Extjs5中使用config配置給ext.widget或者create方法傳遞參數

<a target="_blank" href="http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext-method-each"></a>

------------------------------------------------------------------------------------------------------------------------------------

對于Extjs5的使用方式,我習慣性的是,先使用Ext.define方法定義一個自己的類,然後使用extend屬性繼承某一ext現在存在的類,然後制定alias的widget别名,最後配置屬性,格式如下:

這樣我定義了一個BaseForm當後期使用的時候,我就可以通過uses引入這個類,然後使用Ext.widget('baseform')擷取這個對象的。但是現在有個問題就是,我想給這個對象指派一定的特性,比如我想給form制定标題,那麼我們是這麼做的,Ext.widget('baseform',{title: '自定義标題'})

這樣的話,每調用一次,都會按照你制定的标題來建立這個窗體了,但是現在的問題是,title是form自帶的,是以你這麼寫是正确的,但是我想傳入一個自己定義的資料該怎麼辦呢?

這時候就需要使用config屬性了。

我們這樣做:

在define定義的時候,制定config屬性:

在調用的時候,傳入一個這個即可:

下面是我寫的參數傳遞的例子,大家可以看下:

一、使用sencha cmd生成一個預設extjs5項目

二、在app檔案夾下的view目錄下定義兩個包form和window 分别在裡面建立BaseWindow.js和BaseForm.js檔案,代碼如下:

三、修改MianController.js的按鈕單擊函數

修改MainModel中的資料,增加字段集合的定義:

好了。到此都修改完成了。現在所做的東西就是講MainModel中的自定義的tf_fields數組内容,安裝傳遞的方式,将數組逐級傳入到了顯示出來的form裡面,最後你點選按鈕,顯示出的界面就是這樣了:

[ExtJS5學習筆記]第二十一節 Extjs5中使用config配置給ext.widget或者create方法傳遞參數

後面想修改這個界面,不需要修改其他東西了,隻需要修改MaiModel.js中内容就可以了,這樣就友善多了。

繼續閱讀