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

QQ登录

只需一步,快速开始

查看: 6228|回复: 15

[已结贴] 关于自定义js的数据集操作

  [复制链接]

40

主题

197

帖子

875

积分

高级会员

Rank: 4

积分
875
QQ
发表于 2018-8-17 11:40:16 | 显示全部楼层 |阅读模式
由于在index.js中写大量的控制不便于维护,可在自义的js中对于数据集的使用如
this.com("restData").getValue()
操作中得有数据集的引入。
问题:自定义js文件如何引入数据集的操作。

0

主题

322

帖子

536

积分

高级会员

Rank: 4

积分
536
QQ
发表于 2018-8-17 13:47:20 | 显示全部楼层
自定义js和其实就是复杂逻辑,你首先将数据集拖入到页面,然后知道数据的id,就可以在自定义中操作数据集了
回复 支持 反对

使用道具 举报

40

主题

197

帖子

875

积分

高级会员

Rank: 4

积分
875
QQ
 楼主| 发表于 2018-8-17 15:04:42 | 显示全部楼层
我的需求是在另一个自定义的js文件中调数据集。而不是index.js文件中。
回复 支持 反对

使用道具 举报

19

主题

357

帖子

634

积分

高级会员

Rank: 4

积分
634
QQ
发表于 2018-8-17 17:32:43 | 显示全部楼层
默默的飘过  看不懂这个
回复 支持 反对

使用道具 举报

0

主题

322

帖子

536

积分

高级会员

Rank: 4

积分
536
QQ
发表于 2018-8-18 13:59:24 | 显示全部楼层
调用数据集 必须将数据集引入到页面中,才可以调用
回复 支持 反对

使用道具 举报

发表于 2018-8-20 20:38:16 | 显示全部楼层
你可以把你的一些计算逻辑写在一个单独的js文件中,然后页面使用require("XXXXX");去调用这个外部js文件,(这边的计算逻辑不包括调用组件方法)如图:但是你要调用另一个页面上的组件js方法,这两个页面之间就必须存在某种联系,比如跳转,比如打开子页面http://docs.wex5.com/wex5-ui-question-list-2137/

J_DIGG[`8X5X1QMV)MZB4WX.png
回复 支持 反对

使用道具 举报

40

主题

197

帖子

875

积分

高级会员

Rank: 4

积分
875
QQ
 楼主| 发表于 2018-8-20 20:49:41 | 显示全部楼层
我的问题是在单独的js文件中写数据集逻辑的时候,不知有什么方法引入数据集。没有办法取得数据集在写逻辑的时候很不方便。在主js文件中是用this.comp("restData")操作restData数据集,可在自己单独的js中这样调显然不行,那该怎么办?
回复 支持 反对

使用道具 举报

4

主题

1579

帖子

2706

积分

内部用户

积分
2706
发表于 2018-8-21 09:39:23 | 显示全部楼层
一、如果只是简单封装独立的函数库,处理很简单,
1、参数直接使用data对象,如
function(data,...){
...
  data.setValue(...);
...
};
2、参数个两个参数page和data的id(或者model和xid),
function(page,dataid){
...
let data = page.comp(dataid);
...
}
二、如果封装成操作,那么需要封装成组件才可以,(操作是通过组件提供的)---组件开发这里不再详细介绍,请查阅相关文档;
封装操作后操作实现代码函数中可以直接使用page(或者model)获取data组件,即this.page.comp(dataid)或者this.model.comp(dataxid);


评分

参与人数 1威望 +20 排行积分 +20 收起 理由
牛刀服务-LYL + 20 + 20 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

4

主题

1579

帖子

2706

积分

内部用户

积分
2706
发表于 2018-8-21 09:55:39 | 显示全部楼层
一、封装成函数库
1、函数参数直接传递data对象,如:
function(data){
...
data.getValue(...)
...
}
2、参数传递page对象和data id(在app中是model和data xid)
function(page,dataid){
...
let data = page.comp(dataid);
...
}
二、封装成组件操作
1、组件开发参考相关文档,这里不再介绍
2、组件是创建在page(或者model)上的,所以组件的实例函数上可以直接使用page(或者model),即this.page(或者this.model);
this.page.comp(dataid)(或者this.model.comp(dataxid))
回复 支持 反对

使用道具 举报

40

主题

197

帖子

875

积分

高级会员

Rank: 4

积分
875
QQ
 楼主| 发表于 2018-8-21 11:50:17 | 显示全部楼层
XiaoQLuo 发表于 2018-8-21 09:58
一、封装成函数库
1、函数参数直接传递data对象,如:
function(data){

封装成函数库是一种好的做法,但这只能在一个类下使用,按设计最简单的做法是找到数据集所封闭的类,调用就可以了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-7 09:25 , Processed in 0.104706 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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