2013-05-27 13 views
6

Tôi có bộ điều khiển và tôi muốn chuyển giá trị chuỗi đơn giản cho Chế độ xem tiếp theo.Truyền dữ liệu đến một chế độ xem khác từ bộ điều khiển và đặt giá trị của nhãn trong sencha touch

Đối với điều đó, tôi tạo Chế độ xem như thế này.

 
    var nextView= Ext.create('MyApp.view.NextView',{ 
     content: 'value' 
    }); 
    Ext.Viewport.add(nextView); 
    Ext.Viewport.animateActiveItem(nextView,{type: 'slide', direction: 'left'}); 

Trên NextVIEW, tôi có một nhãn, và tôi muốn thiết lập thuộc tính HTML của nhãn với giá trị mà tôi đang đi từ bộ điều khiển. I E. 'giá trị'.

My Chế độ xem tiếp theo giống như sau.

 
Ext.define('MyApp.view.NextView', { 
    extend: 'Ext.form.Panel', 
    config: { 
     content: 'null', 
     items: [ 
      { 
       xtype: 'label', 
       html: 'value' 
      } 
     ] 
    } 
}); 

Tôi không chắc chắn cách tiếp tục từ đây. Tôi không thể có NextView dưới dạng biểu mẫu. Tôi chỉ cần vượt qua một giá trị chuỗi trong tình huống này. Cách tốt nhất để đạt được điều này là gì?

Trả lời

8

Sử dụng initialize phương pháp để truy cập dữ liệu cấu hình như thế này:

Ext.define('MyApp.view.NextView', { 
    extend: 'Ext.form.Panel', 
    config: { 
     content: 'null', 
     items: [ 
      { 
       xtype: 'label', 
       html: 'value' 
      } 
     ] 
    }, 
    initialize : function(){ 
     this.callParent(); 
     var val = this.config.content; 
     this.down('label').setHtml(val); 
    } 
}); 

PS Hãy sử dụng bộ chọn yêu thích của bạn trong down chức năng

+0

Cảm ơn. Điều đó hoạt động :) –

4

Tôi biết các câu hỏi đã được trả lời. Nhưng tôi chỉ đào một cách khá tự nhiên để truyền dữ liệu từ bộ điều khiển đến một khung nhìn (sử dụng hàm tạo của khung nhìn). Tôi sử dụng điều này trong tích hợp của máy tính để bàn web vào ứng dụng của mình.

Trong điều khiển, truyền dữ liệu cho các nhà xây dựng của quan điểm như sau:

loiTab = Ext.create('Iip.view.giips.admission.DetailedLoiTab', {closable: true, selectedLoiData: selected[0].data}); 

Trong giao diện, quay lên một constructor như sau:

constructor: function(selectedLoiData) { 
    Ext.applyIf(this, selectedLoiData); 
    this.callParent(); 
}, 

Các phương pháp sau đây sống trong cùng một tệp làm hàm tạo. Bạn có thể truy cập selectedLoiData từ bất kỳ vị trí nào trong chế độ xem mà hàm tạo sống như sau:

initComponent: function(){ 
    console.log(this.selectedLoiData); 
} 
Các vấn đề liên quan