Sencha touch Sencha Touch-在Ext.create中设置属性(

Sencha touch Sencha Touch-在Ext.create中设置属性(,sencha-touch,Sencha Touch,我是Sencha Touch的新手。在他们的网站上浏览示例,发现意想不到的行为。无法找出原因。想知道是否有人能告诉我我做错了什么 基本上-定义了一个新类..定义了一个名为'name'的属性设置为null。然后创建了动物类的一个新实例,并设置'name':'Bob'…但似乎从未设置过 在创建对象的新实例时,我应该这样设置属性吗?教程似乎说我应该..调用bob.setName('some name')确实有效,但我希望能够在create方法中设置值 守则: Ext.define('Animal',

我是Sencha Touch的新手。在他们的网站上浏览示例,发现意想不到的行为。无法找出原因。想知道是否有人能告诉我我做错了什么

基本上-定义了一个新类..定义了一个名为'name'的属性设置为null。然后创建了动物类的一个新实例,并设置'name':'Bob'…但似乎从未设置过

在创建对象的新实例时,我应该这样设置属性吗?教程似乎说我应该..调用bob.setName('some name')确实有效,但我希望能够在create方法中设置值

守则:

Ext.define('Animal', {
        config: {
            name: null
        },

        speak: function() {
            alert(this.getName());
        }
    }); 

    var bob = Ext.create('Animal', {
        name: 'Bob' // set 'name' to Bob
    });

    bob.speak(); //alerts 'null' - site says it should alert 'Bob'
    alert( bob.getName() ); //alerts null

非常感谢!

解决了这个问题。我从未定义过更新配置属性的构造函数。我认为这是框架自动神奇地实现的,但似乎不是

问题代码在此块中:

Ext.define('Animal', { 
   config: { name: null },

   speak: function() {
      alert(this.getName());
   }
}); 
构造函数中缺少配置的设置:

Ext.define('Animal', { 
   config: { name: null },

   constructor: function(config) {
      this.initConfig(config);

      return this;
   },

   speak: function() {
      alert(this.getName());
   }
}); 
现在,当我创建新的Animal实例时,名称已设置

var bob = Ext.create('Animal', {
    name: 'Bob' // set 'name' to Bob
});

bob.speak(); //now alerts 'Bob'
alert( bob.getName() ); //alerts 'Bob'

这段代码怎么了?你总是可以这样设置属性。无论你在配置中添加什么属性,都会自动为它们设置set/get方法。谢谢你的响应!嗯,好吧,我也这么认为,但它似乎没有为我的*custom*类设置name属性,尽管我可以在配置中为现有的EWT类设置属性。你能吗你共享你的自定义类代码吗?谢谢你,Swar!我肯定这是我做错的基本原因。这是我的app.js代码:
Ext.application({name:'Sencha',launch:function(){Ext.define('Animal',{config:{name:'SOME DEFAULT name'),speak:function(){alert(this.getName());}});var bob=Ext.create('Animal',{name:“bob's name”//set name属性为“bob's name”});//这两个警报都显示“某个默认名称”-->应该提醒“bob's name”bob.speak();警报(bob.getName();});
对于格式设置,我很抱歉,我无法将其显示为代码:/:)