基于WeexApp开发的脚手架weexplus学习笔记

APP开发


浏览:946 次

认识weexplus

Weexplus是基于官方Weex的第二个开发版本。与React Native一样,Weex属于第二代跨平台技术。它解决了第一代的性能差和体验差的问题,同时保留了第一代多平台代码的所有优点,基于web技术栈,并支持动态发布——weexplus scaffold作者

发展

运行开发环境(默认情况下已安装节点环境)

$npm安装weex工具包

$npm安装weexplus-g

$git clone XXX//本地下载项目

$cd XXX//输入项目根目录

$npm安装

$npm运行开发

$npm运行weexplus

如何请求数据?前端封装了网络模块。如何使用它

20180222151927000473585.png

如何从页面传输参数?使用导航器导航控制器模块实现参数传输(详见文档)

20180222151927123753943.png

如何获取参数?

通过weexglobalEvent模块的addEventListener侦听onPageInit模块的事件(有关详细信息,请参阅文档)

20180222151927117348221.png

那些坑

找不到错误消息文件(如下图所示)。解决方案:创建一个新的文件配置。json根据为错误消息指定的路径

20180222151926927719367.png

网络速度慢。安装淘宝图片

$npm安装-g cnpm--注册表=https://registry.npm.taobao.org

返回的错误(返回多个级别的已保存数据)

//列表页面上的注册页面

var-notify=weex.requireModule('notify');

通知regist('twoPlusListTab',(p)=>{

this.status=p.index;

})

导航器。setPageId('twoPlusList');//唯一的最好根据当前页面的文件名命名

//最后一个操作页面返回主页

var-notify=weex.requireModule('notify');

通知send('twoPlusListTab',{index:0});//传输参数

导航。backTo('twoPlusList');//返回列表

//需要返回刷新

//列表页面上的注册页面

var-notify=weex.requireModule('notify');

通知regist('twoPlusListTab',(p)=>{

this.status=p.index;

})

//需要在全局事件侦听器中设置setPageId

全球事件。addEventListener(“onPageInit”,()=>{

导航器。setPageId('twoPlusList');//只有

})

//在要刷新的页面上

var=这个;

var-notify=weex.requireModule('notify');

通知regist('treeUnlinkList',(p)=>{

那个刷新();//页面需要刷新方法

})

//最后一个操作页面返回列表页面twoPlusList,需要将其写入数据请求的回调函数

网post(“中化/三方合同/添加”,查询,res=>{

情态动词toast({消息:“保存成功!”});

var-notify=weex.requireModule('notify');

通知send('twoPlusListTab',{index:0});//转到列表页

通知send('treeUnlinkList',{})//与要刷新的页面通信

导航器。backTo('twoPlusList');//返回列表页

});

通用代码块

警报弹出窗口(Weex调试有点麻烦。Android基本上没有用。有时有必要将其用作手动断点)

var modal=weex.requireModule('modal');

模式警报({

消息:“这是警报”,

持续时间:0.3

},函数(值){

安慰日志('alert callback',value)

})

//不需要回调函数速记

情态动词警报({message:'这是一个警报');

确认弹出窗口

//确认框

模式.公司({

消息:“是否确认?”,

持续时间:0.3

},函数(值){

安慰日志(“确认回调”,值)

})

//带有回调功能的确认框

模式.公司(

{

消息:“这是消息”,

OkTitle:“确认”,

CancelTitle:“取消”

},

函数(obj){

如果(obj==“确认”){

单元警报({消息:“确认”});

}其他{

单元警报({message:'cancel'});

}

}

);

常规匹配

//只能输入数字,不能输入负数(金额、面积)

如果(!(/^[-]?[0-9]*\.?[0-9]+(eE?[0-9]+)?$/)。test(this.area)||这个。面积<=0){

情态动词吐司({消息:“请输入正确的合同区域”})

返回false;

}

//验证ID号

如果(!(/(^\d{15}$)|(^\e{17}([0-9]|X)$)/).test(p.identityCode)){

情态动词吐司({消息:“请输入正确的身份证号码”});

回来

}

文件

weexplus公司

weex官方文件

Weex足迹策略

Vue官方文件

Weex使用中的坑