日期:2014-05-16  浏览次数:20342 次

Ext:想实践下更好的ext书写习惯,这样写为什么不行呢
test.js文件代码如下,定义ColumnModel
var cm=(function(){

  var column1=[  
  {header:'ID',dataIndex:'id'},  
  {header:'姓名',dataIndex:'name'},  
  {header:'备注',dataIndex:'descn'},
  {header:'年龄',dataIndex:'age'}
  ]
  return{
mycolumn : column1
  }
}())
然后另一个文件index.js
我把定义好的ColumnModel引入
var grid = new Ext.grid.EditorGridPanel({
  autoHeight : true,
border : false,
store : store,
cm : cm.mycolumn,//引入刚才定义的ColumnModel
viewConfig : {
forceFit : true
}
});

但是浏览器提示我Uncaught TypeError: Cannot read property 'mycolumn' of undefined
这是为什么呢?
以上分开的这种写法我也是模仿别人的代码自己改的 但是不知道为什么说mycolumn未定义 求解

------解决方案--------------------
JScript code

var cm=(function(){

  var column1= function(){
    return [
        {header:'ID',dataIndex:'id'},
        {header:'姓名',dataIndex:'name'},
        {header:'备注',dataIndex:'descn'},
        {header:'年龄',dataIndex:'age'}
      ]
  }
  return{
        mycolumn : column1
  }
}())
var arr = cm.mycolumn();
alert(arr)