EXTJS5使用ViewModel为Tree组件配置store 你断点看看错误提示的item变量是什么。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 追踪不到啊~~定位的时候,走完getRoot()方法之后,就跳到他自己的类库中去了~~一直都没看到item~~~ 追踪不到啊~~定位的时候,走完getRoot()方法之后,就跳到他自己的类库中去了~~一直都没看到item~~~你在Sources选项卡中点最右边那个"Pause on exceptions"按钮,点成蓝色,然后运行到ext的代码异常的地方会自动断点,不用手动跟,看看item是什么对象才能找到问题。 item是root~~说root里的很多方法找不到 item是root~~说root里的很多方法找不到截个图看看。你为什么要把store放到ViewModel里? item是root~~说root里的很多方法找不到截个图看看。你为什么要把store放到ViewModel里?感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了 item是root~~说root里的很多方法找不到截个图看看。你为什么要把store放到ViewModel里?感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了Store应该在app/store文件夹内用Ext.define定义,ViewModel作用只是分离出在View上面要经常修改的配置,如果title什么的吧。如果按你这么说ViewModel就没用了,你在里面定义那么复杂的东西,跟单独js文件定义就没区别了,用起来还麻烦。 item是root~~说root里的很多方法找不到截个图看看。你为什么要把store放到ViewModel里?感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了我不明白有什么要在initComponent里遍历还循环嵌套的。 item是root~~说root里的很多方法找不到截个图看看。你为什么要把store放到ViewModel里?感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了我不明白有什么要在initComponent里遍历还循环嵌套的。那比如我想写一个tree,应该怎么写呢?在哪里初始化store呢? item是root~~说root里的很多方法找不到截个图看看。你为什么要把store放到ViewModel里?感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了Store应该在app/store文件夹内用Ext.define定义,ViewModel作用只是分离出在View上面要经常修改的配置,如果title什么的吧。如果按你这么说ViewModel就没用了,你在里面定义那么复杂的东西,跟单独js文件定义就没区别了,用起来还麻烦。这是详细截图,求问,有没有更好的方式~~~ item是root~~说root里的很多方法找不到截个图看看。你为什么要把store放到ViewModel里?感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了我不明白有什么要在initComponent里遍历还循环嵌套的。那比如我想写一个tree,应该怎么写呢?在哪里初始化store呢?所有store都在store文件夹内定义,在tree里初始化 查了一下文档,treepanel的store配置项不支持Json,只能为 Ext.data.TreeStore对象。http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext.tree.Panel-cfg-store关键源代码如下: if (Ext.isString(store)) { store = me.store = Ext.StoreMgr.lookup(store); } else if (!store || !store.isStore) { store = Ext.apply({ type: 'tree', root: me.root, fields: me.fields, model: me.model, proxy: 'memory', folderSort: me.folderSort }, store); store = me.store = Ext.StoreMgr.lookup(store); } else if (me.root) { store = me.store = Ext.data.StoreManager.lookup(store); store.setRoot(me.root); if (me.folderSort !== undefined) { store.folderSort = me.folderSort; store.sort(); } } 试了一下,Json配置是可以的,以你现在给的代码我找不出问题了。 亲,能详细说明一下问题吗?你看一下这个结构:你这种看看还有没有问题。文档:http://docs.sencha.com/extjs/5.0/application_architecture/application_architecture.html 感觉你说的对,viewModel里的stores好像是一个装载该组件所需的store的所在地,本身并无法识别他是TreeStore还是其他store,所以很多原有的TreeStore中的方法都不能使用才会报错,就跟父类无法使用和找到子类的方法方法一样~~太感谢你了~~ jquery问题,会的快点进来! ocx控件classid作用 Javascript如何知道返回的Dictionary的元素的个数? jQuery如何将<h2>abc</h2>替换成"xyz"? 关于google浏览器中 location.href 的问题 js问题 关于javascrip的赋值问题 高分求特效。。。 50分寻求教程!!! 请大神写个JS正则 将字符串转为方法调用并传递参数 treegrid怎么让子节点默认不展开
截个图看看。
你为什么要把store放到ViewModel里?
截个图看看。
你为什么要把store放到ViewModel里?
感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了
截个图看看。
你为什么要把store放到ViewModel里?
感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了Store应该在app/store文件夹内用Ext.define定义,ViewModel作用只是分离出在View上面要经常修改的配置,如果title什么的吧。如果按你这么说ViewModel就没用了,你在里面定义那么复杂的东西,跟单独js文件定义就没区别了,用起来还麻烦。
截个图看看。
你为什么要把store放到ViewModel里?
感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了我不明白有什么要在initComponent里遍历还循环嵌套的。
截个图看看。
你为什么要把store放到ViewModel里?
感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了我不明白有什么要在initComponent里遍历还循环嵌套的。
那比如我想写一个tree,应该怎么写呢?在哪里初始化store呢?
截个图看看。
你为什么要把store放到ViewModel里?
感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了Store应该在app/store文件夹内用Ext.define定义,ViewModel作用只是分离出在View上面要经常修改的配置,如果title什么的吧。如果按你这么说ViewModel就没用了,你在里面定义那么复杂的东西,跟单独js文件定义就没区别了,用起来还麻烦。
这是详细截图,求问,有没有更好的方式~~~
截个图看看。
你为什么要把store放到ViewModel里?
感觉这样以后要修改什么数据直接在viewModel里修改就可以了~~并且这个不是5才有的么,所以就想试试~~我看网上有例子,都是直接在initComponent里遍历,多个循环嵌套,感觉这样如果我改变了json串的结构,比如有的菜单3层,有的4层,还得修改initComponent,所以就直接放到viewModel里了我不明白有什么要在initComponent里遍历还循环嵌套的。
那比如我想写一个tree,应该怎么写呢?在哪里初始化store呢?所有store都在store文件夹内定义,在tree里初始化
if (Ext.isString(store)) {
store = me.store = Ext.StoreMgr.lookup(store);
} else if (!store || !store.isStore) {
store = Ext.apply({
type: 'tree',
root: me.root,
fields: me.fields,
model: me.model,
proxy: 'memory',
folderSort: me.folderSort
}, store);
store = me.store = Ext.StoreMgr.lookup(store);
} else if (me.root) {
store = me.store = Ext.data.StoreManager.lookup(store);
store.setRoot(me.root);
if (me.folderSort !== undefined) {
store.folderSort = me.folderSort;
store.sort();
}
}
文档:http://docs.sencha.com/extjs/5.0/application_architecture/application_architecture.html