执行函数时返回字符串

时间:2015-11-20 10:59:50

标签: javascript extjs

我有一个观点:

Ext.define('DemoApp.view.Main', {
    //Some code here
    ...
    items: [{
        xtype: 'label',
        text: //<- I want to run some scripts then return a string to this.
    }]
})

我试过了:

text: function() {
    return 'Test';
}

但没有发生任何事情。

请帮忙!

3 个答案:

答案 0 :(得分:2)

解决方案1:

function getText(){
   if(someVariable==someValue){
     return 'text1';
   } else{
     return 'text2';
   }
};
Ext.define('DemoApp.view.Main', {
    //Some code here
    ...
    items: [{
        xtype: 'label',
        text: getText()
    }]
});

在这种情况下,如果您将主要定义编写为单独的文件,getText函数将成为全局函数。

解决方案2:

Ext.define('DemoApp.view.Main', {
    //Some code here
    ...
    initComponent: function(){
        function getText(){
            if(someVariable==someValue){
               return 'text1';
            } else{
               return 'text2';
            }
        };
        this.items = [{
           xtype: 'label',
           text: getText()
        }];
        this.callParent(arguments);
    }
});

答案 1 :(得分:0)

一组括号可以产生很大的不同:

text: function() {
    return 'Test';
}()

答案 2 :(得分:-1)

它对我有用,请检查以下代码。

 <script>
    function returntext(d){
        return d;
    }
    window.item = [{
        text: returntext("Name")
    }]
</script>