2012-05-14 120 views
0

我想知道是否有可能包含數據並在Sencha Touch 2中的模板中創建一個新的對象?Sencha觸摸2面板帶模板包括數據和對象

我有以下代碼:

Ext.define('MyApp.view.VideosDetail', { 
extend: 'Ext.Panel', 
xtype: 'videosdetail', 

config: { 
    title: 'Details', 
    styleHtmlContent: true, 
    scrollable: 'vertical', 
    tpl: [ 
     '{content}', 
     { 
      xtype: 'video', 
      width: 400, 
      height: 400, 
      url: '{link}' 
     } 
    ] 
} 
}); 

我看到[object Object],而不是與URL鏈接的視頻對象。

{content}通過商店等正常工作。

回答

0

好吧,兩件事情你必須記住

  1. 你只是做的方式,您不能使用第三方物流的內部複雜的對象。在Sencha Touch中,在tpl字符串後面添加「,」後跟「{。。}」意味着將成員函數或配置添加到XTemplate。在這種情況下,ST誤解你的對象是類的成員函數,並沒有顯示任何東西,因爲你沒有調用任何函數。

的成員函數實例::

var tpl = new Ext.XTemplate(
'<p>Name: {name}</p>', 
'<p>Kids: ', 
'<tpl for="kids">', 
    '<tpl if="this.isGirl(name)">', 
     '<p>Girl: {name} - {age}</p>', 
    '<tpl else>', 
     '<p>Boy: {name} - {age}</p>', 
    '</tpl>', 
    '<tpl if="this.isBaby(age)">', 
     '<p>{name} is a baby!</p>', 
    '</tpl>', 
'</tpl></p>', 
{ 
    // XTemplate configuration: 
    disableFormats: true, 
    // member functions: 
    isGirl: function(name){ 
     return name == 'Sara Grace'; 
    }, 
    isBaby: function(age){ 
     return age < 1; 
    } 
} 
); 
  • 如果有一個複雜的對象TPL,總是試圖創建一個單獨的XTemplate對象,而不是,這將使你的代碼簡單而美觀(即易於閱讀)

  • 我已經做了類似的事情,並將視頻添加到我的XTemplate之前。但我沒有使用視頻對象。相反,我的TPL我創建看起來如下::

    Sorry I couldnt paste in the code, but StackOverflow was assuming it was html, and actually showing me the tpl output instead :P

  • 我的方案,我的視頻的網址是由兩個部分組成,vurl1是共同的東西,如「www.youtube.com /看?」而vcode1是隨後的動態代碼。