0

私は 2 つのモデル 'ステータス' の所属先:'ユーザー' を持っています。ここに私のjsonファイルがあります

{
"statuses" : [{
    "text" : "test",
    "user" : {
        "name" : foo,
              }
             }]
}

公式ドキュメントには、「レコードが更新されたら、テキスト構成を取得し、レコードsetTextの「テキスト」フィールドで呼び出すと書かれていますが、 setHtml:'user.name' を試してみましたが、うまくいきませんでした。 . これが私のビューコードです。

Ext.define('Demo.view.StatusesListItem', {
extend : 'Ext.dataview.component.ListItem',
xtype : 'statuseslistitem',
requires : ['Demo.view.StatusesListItemText', 'Ext.Img'],

config : {
    dataMap : {
        getText : {
            setHtml : 'text',        //work well
        },
        getUserName : {
            setHtml : 'user.name',   //didn't work
        }
    },
    userName : {
        cls : 'username'
    },
    text : {
        cls : 'text'
    },
    layout : {
        type : 'vbox'
    }
},
applyUserName : function(config) {
    console.log(Ext.factory(config, Ext.Component, this.getUserName()))
    return Ext.factory(config, Ext.Component, this.getUserName());
},
applyText : function(config) {
    return Ext.factory(config, Sin.view.StatusesListItemText, this.getText());
},
updateTpl : Ext.emptyFn,

});  

Ext.define('Demo.view.StatusesListItemText', {
extend : 'Ext.Component',

applyHtml : function(html) {
    html = html.replace(/(http:\/\/[^\s]*)/g, "<a class=\"link\"       target=\"_blank\" href=\"$1\">$1</a>");
    return html;
}
});

setHtml はサブ nodeuse の値を取得できません

誰でも私を助けることができますか?ありがとうございます

4

1 に答える 1

0

残念ながら、これは不可能です。

それを回避するためのハックは、の値を設定してgetUserNameからuser、メソッドを変更してプロパティapplyUserNameにアクセスすることです。name

applyUserName : function(config) {
    var name = config.name;

    return Ext.factory(name, Ext.Component, this.getUserName());
}
于 2013-02-04T14:53:29.380 に答える