起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2363|回复: 10

[结贴] data组件错误:Uncaught TypeError: Cannot read property 'loadData' of null

[复制链接]

28

主题

70

帖子

226

积分

中级会员

Rank: 3Rank: 3

积分
226
QQ
发表于 2016-8-30 09:25:00 | 显示全部楼层 |阅读模式
本帖最后由 lshfong 于 2016-8-30 10:53 编辑

我在设计模式下添加了一个data组件,xid为data1
然后在js中
  1. var data = this.comp('data1');
  2.                 var options = {
  3.                         defaultValues : [
  4.                          {"id" : "1",        "name" : "今天天气"},
  5.                          {"id" : "2",        "name" : "哈哈"}
  6.                         ]
  7.                 };
  8.                 data.loadData(options);
复制代码

但是在运行时报错:Uncaught TypeError: Cannot read property 'loadData' of null
data.newData(options);也试了,报同样的错误

5

主题

49

帖子

133

积分

初级会员

Rank: 2

积分
133
QQ
发表于 2016-8-30 09:46:00 | 显示全部楼层
把loadData改成newData
初学Wex5
回复 支持 反对

使用道具 举报

28

主题

70

帖子

226

积分

中级会员

Rank: 3Rank: 3

积分
226
QQ
 楼主| 发表于 2016-8-30 10:30:30 | 显示全部楼层
dreamkei 发表于 2016-8-30 09:46
把loadData改成newData

一样的,两个方法都试了的
回复 支持 反对

使用道具 举报

65

主题

315

帖子

851

积分

高级会员

Rank: 4

积分
851
发表于 2016-8-30 10:59:39 | 显示全部楼层
直接data.loadData(defaultValues);呢
回复 支持 反对

使用道具 举报

65

主题

315

帖子

851

积分

高级会员

Rank: 4

积分
851
发表于 2016-8-30 11:01:29 | 显示全部楼层
defaultValues = [
                         {"id" : "1",        "name" : "今天天气"},
                         {"id" : "2",        "name" : "哈哈"}
                        ];
回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-8-30 13:16:48 | 显示全部楼层
仔细检查data的xid,你的第一句话var data 后面获取的对象没有获取到
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

28

主题

70

帖子

226

积分

中级会员

Rank: 3Rank: 3

积分
226
QQ
 楼主| 发表于 2016-8-30 13:37:04 | 显示全部楼层
cgrddv 发表于 2016-8-30 13:16
仔细检查data的xid,你的第一句话var data 后面获取的对象没有获取到

data的xid肯定是对的,我反复检查了的
<div component="$UI/system/components/justep/data/data" autoLoad="true" xid="data1" idColumn="id">
回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-8-30 13:47:39 | 显示全部楼层
lshfong 发表于 2016-8-30 13:37
data的xid肯定是对的,我反复检查了的

同样的代码我直接粘贴过来、、、都好使呀。你的代码写在哪儿里面了
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

28

主题

70

帖子

226

积分

中级会员

Rank: 3Rank: 3

积分
226
QQ
 楼主| 发表于 2016-8-30 13:50:51 | 显示全部楼层
本帖最后由 lshfong 于 2016-8-30 13:55 编辑
cgrddv 发表于 2016-8-30 13:47
同样的代码我直接粘贴过来、、、都好使呀。你的代码写在哪儿里面了

w文件中
  1. <div component="$UI/system/components/justep/data/data" autoLoad="true" xid="data1" idColumn="id"><column label="id" name="id" type="Integer" xid="xid1"></column>
  2.   <column label="name" name="name" type="String" xid="xid2"></column></div>
复制代码
未命名.jpg

js文件中
  1. define(function(require) {
  2.         var $ = require("jquery");
  3.         var justep = require("$UI/system/lib/justep");

  4.         var Model = function() {
  5.                 this.callParent();
  6.                 this.loadData();
  7.         };
  8.         Model.prototype.loadData = function() {
  9.                 var data = this.comp("data1");
  10.                 var options = {
  11.                         defaultValues : [
  12.                          {"id" : "1",        "name" : "中华人民共和国"},
  13.                          {"id" : "2",        "name" : "哈哈"}
  14.                         ]
  15.                 };
  16.                 data.loadData(options);
  17.         };
  18.         return Model;
  19. });
复制代码

回复 支持 反对

使用道具 举报

0

主题

1639

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
QQ
发表于 2016-8-30 14:16:22 | 显示全部楼层
lshfong 发表于 2016-8-30 13:50
w文件中

js文件中

你调的太早了!!!!!页面一加载你就loadData,data组件还没创建出来呢!!!!你把这个方法写到modelLoad里去就可以了
回复我的时候请点击我当前评论旁边的回复按钮,能保证第一时间看到您的回复,在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 07:53 , Processed in 0.054965 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表