之前项目jquery+mui写的,脏乱差,现在进行改版,采用vue+mui,去掉沉重的html拼接,开始上手顺的一塌糊涂,后面打包发布真机,android的一切照旧,ios的ajax访问不到数据.心凉了一截,后面是所有代码放在mui.plusready里面,但是html里面却又不能实现vue的渲染,愁啊;调试都不方便;
后面又是百度又是啥的终于琢磨出一个办法,也不知道对大家有没有用,我这里在下面贴出来;
如下代码:
//业务页面js
mui.init();
mui.plusReady(function() {
my_packer_info.initPackageList(); //要写,否者会出现第一次打开页面没数据,因为当时plus还没被初始化,这里只要调一下vue里面的初始化数据的方法即可
});
var my_packer_info = new Vue({
el: "#my_packer_info",
data:{},
methods: {
//初始化包裹列表
initPackageList: function() {
//;
var req_data = {
PlatForm: this.PlatForm,
Shop: this.ClientInfo.ClientInfo.Shop,
Page: 1,
PageCount: 100,
}
let that = this;
//自己在mui.ajax外面封装了一层的方法,同时也要改一下mui.js里面的ajax模块的xhr的创建
AxiosPost('GetBillCode', req_data, (res) => {
if (res.State) {
....
} else {
mui.toast("系統繁忙,請稍後重試:" + res.MsgText);
}
}, (err) => {
mui.toast("系統繁忙,請稍後重試:" + err);
});
}
},
created: function() {
this.initPackageList();
}
});
//mui.js里面 $.ajax模块的修改,不是很完善,大家可以自行加点判断,我这里是从ajax下面有WKWebView提醒哪里直接拷贝过来用的
xhr: function(protocol) {
if(location.protocol === 'file:' && $.os.ios && window.webkit && window.webkit.messageHandlers && !(xhr instanceof plus.net.XMLHttpRequest)){
return plus.net.XMLHttpRequest;
}
else{
return new window.XMLHttpRequest();
}
}
0 个评论
要回复文章请先登录或注册