2012-05-08 171 views
2

有一個按鈕,當我點擊它時會有一個對服務器的調用,並且我會得到一個JSON響應。將值從'Controller'傳遞給'View'類

這JSON響應將包含類似於一個字符串

​​

value字段在JSON將成功或失敗。所以如果它是success,我將不得不導航到另一個視圖並顯示firstNamesurname

如果需要,我需要將值firstNamelastName傳遞給另一個視圖。

如何在senchaTouch/cordova中傳遞firstNamelastName的值?

代碼:

按鈕

xtype:'button', 
        id:'when_button_click', 
        text:'Send', 
        ui:'confirm', 

Controller類

extend: "Ext.app.Controller", 
        config: { 
        refs: { 
        newNoteBtn: "#when_button_click" 
        }, 
        control: { 
        newNoteBtn: { 
        tap: "onNewNote" 
        } 
        } 
        }, 
        onNewNote: function() { 
var values = Ext.getCmp('form').getValues(); 
       console.log("inside onNewNote function"); 

     Ext.Ajax.request({ 
         url: 'http://call.com/the_webservice', 
         params : values, 

         failure: function (response) { 
         var text = response.responseText; 
         console.log("fail"); 

         },        success: function (response) { 
         var text = response.responseText; 
         console.log("success"); 

         } 

         }); 



        } 

        // init and launch functions omitted. 
        }); 

回答

0

您可以簡單地添加額外的屬性到新的視圖對象,控制器創建。因爲,如果所述控制器處理函數「推動」像這樣

this.getSomeView().push({ 
    xtype : 'mylistView', 
    prop1 : 'my property to pass', 
    prop2 : record.get('comesFromTheEventHandled') 
}); 

然後,視圖可以在initialize()函數來訪問這些屬性的新視圖的例子。 對於代碼示例 - 在 「mylistView」 初始化()部分中,您訪問這些屬性

this.prop1 and this.prop2 
1

假設你有一個id 'yourNavigationViewId'和您要顯示視圖導航視圖被定義爲'Appname.view.Viewname',在你的成功處理中r代表你的Ajax調用,做這樣的事情:(您可以通過所有配置的東西在Ext.create第二個參數)

success: function (response) { 
    Ext.getCmp('yourNavigationViewId').push(Ext.create('Appname.view.Viewname', { 
     data: response 
    })); 
} 
+0

我的代碼'Ext.getCmp( 'myPanel')推動({ 的xtype: 'MyView的' 。 });',這是導航部分,但我如何傳遞和檢索'數據'到另一個視圖?代碼中的「響應」是什麼? –

+0

我的代碼中的'response'來自你的例子(json響應)。請比較我的代碼中的'push'方法和您的代碼的內容。用一個簡單的javscript對象創建一個內聯視圖。在我的例子中,我使用'Ext.create'創建視圖並將配置作爲第二個參數傳遞。這是將數據放入視圖的地方。 – Michael

+0

順便說一句:是不是像http://stackoverflow.com/questions/10471708/passing-values-back-to-the-view-from-controller-class – Michael

相關問題