HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

招聘 uni-app开发工程师 (北京)

uniapp

招聘 uni app开发工程师
工作地点:北京 上地
学历:大专及以上
薪资范围:12K~20K 五险一金
职责描述:
1、负责基于H5、uni-App的手机APP 、小程序的设计与开发;
2、负责公司现有APP的开发、重构与优化;
3、参与公司级APP的发展方向的规划与设计;
4、参与APP研发技术的积累、学习、实践工作;
5、参与公司其他前端技术支持工作。
任职要求:
1、专科及以上学历,计算机、软件、设计等相关专业;
2、3年或以上手机端相关开发经验,一个以上项目跨平台APP开发经验;
3、精通符合W3C标准的Html5、JavaScript和CSS相关技术;
4、精通JSON、XML等通信格式以及基于AJAX请求实现与后台数据交互;
5、精通JQuery、Vue等常见JS开发框架;
6、熟悉使用HBuilder IDE编辑器进行开发,并完成打包发布安卓、ios版本app;
7、精通 Vue、uni-app 框架应用,并能运用uni-app框架完成移动端及小程序开发;
8、注重用户体验,具有快速迭代和敏捷开发思维,具备快速学习能力;
9、良好沟通能力、团队合作精神,积极主动、服从安排,能承受较大压力,责任心和学习能力强,能独立分析问题及解决问题;
10、对IOS,Android 原生有实际开发经验的加分;
11、对后台开发(PHP、Node.js)有了解的加分;

简历请投递:chenzhe@emsys.cn

继续阅读 »

招聘 uni app开发工程师
工作地点:北京 上地
学历:大专及以上
薪资范围:12K~20K 五险一金
职责描述:
1、负责基于H5、uni-App的手机APP 、小程序的设计与开发;
2、负责公司现有APP的开发、重构与优化;
3、参与公司级APP的发展方向的规划与设计;
4、参与APP研发技术的积累、学习、实践工作;
5、参与公司其他前端技术支持工作。
任职要求:
1、专科及以上学历,计算机、软件、设计等相关专业;
2、3年或以上手机端相关开发经验,一个以上项目跨平台APP开发经验;
3、精通符合W3C标准的Html5、JavaScript和CSS相关技术;
4、精通JSON、XML等通信格式以及基于AJAX请求实现与后台数据交互;
5、精通JQuery、Vue等常见JS开发框架;
6、熟悉使用HBuilder IDE编辑器进行开发,并完成打包发布安卓、ios版本app;
7、精通 Vue、uni-app 框架应用,并能运用uni-app框架完成移动端及小程序开发;
8、注重用户体验,具有快速迭代和敏捷开发思维,具备快速学习能力;
9、良好沟通能力、团队合作精神,积极主动、服从安排,能承受较大压力,责任心和学习能力强,能独立分析问题及解决问题;
10、对IOS,Android 原生有实际开发经验的加分;
11、对后台开发(PHP、Node.js)有了解的加分;

简历请投递:chenzhe@emsys.cn

收起阅读 »

uni-app返回页面不触发页面刷新问题 A页面到B页面B页面返回A页面刷新数问题

uni-app返回页面不触发页面刷新问题 A页面到B页面B页面返回A页面刷新数问题

A页面加入

onHide(){  
            console.log('this.ifOnShow=true')  
            this.ifOnShow=true  
        },  

onShow(){  
            if(this.ifOnShow){  
              //这是要刷新的数据  
                this.getUserRoleId()  
                this.getWorkDetails(this.orderDetails)  
                console.log('工单详情',this.orderDetails)  
            }  
        },  

data() {  
            return {  
              ifOnShow:false,  

    }  

} 

最后解决

我们在用 uni-app 开发前端时,有时在返回上一页后要刷新上一页的数据,如登录后返回上一页刷新登录状态。我们可以通过 uni.navigateBack 的成功回调函数来实现。具体实现方式如下:

要打开登录页面的主页面中的主要代码如下

<template>  
    <view>  
        <button class="cu-btn" @tap="toView('login/login')">登录</button>  
    </view>  
</template>  

<script>  
    export default {  
        methods: {  
            toView(page) {  
                uni.navigateTo({  
                    url: `/pages/${page}`  
                })  
            }  
        },  
        onLoad(option) {  
            console.info('调用了 onLoad:' + option)  
        }  
    }  
</script>  
登录页面主要代码如下  

<template>  
    <view>  
        <button class="cu-btn" @tap="handleLogin">立即登录</button>  
    </view>  
</template>  

<script>  
    export default {  
        methods: {  
            handleLogin() {  
                const delta = 1 // 返回的页面数  
                uni.navigateBack({  
                    delta: delta,  
                    success: () => {  
                        const pages = getCurrentPages() // 获取当前页面栈数组,第一个元素为首页,最后一个元素为当前页面  
                        let page = pages[Math.max(pages.length - 1 - delta, 0)] // 要返回到的页面,超过页面栈,则为首页  
                        page.onLoad(page.options) // 通过调用页面的 onLoad 里面的处理逻辑实现刷新数据  
                    }  
                })  
            }  
        }  
    }  
</script>  
继续阅读 »

uni-app返回页面不触发页面刷新问题 A页面到B页面B页面返回A页面刷新数问题

A页面加入

onHide(){  
            console.log('this.ifOnShow=true')  
            this.ifOnShow=true  
        },  

onShow(){  
            if(this.ifOnShow){  
              //这是要刷新的数据  
                this.getUserRoleId()  
                this.getWorkDetails(this.orderDetails)  
                console.log('工单详情',this.orderDetails)  
            }  
        },  

data() {  
            return {  
              ifOnShow:false,  

    }  

} 

最后解决

我们在用 uni-app 开发前端时,有时在返回上一页后要刷新上一页的数据,如登录后返回上一页刷新登录状态。我们可以通过 uni.navigateBack 的成功回调函数来实现。具体实现方式如下:

要打开登录页面的主页面中的主要代码如下

<template>  
    <view>  
        <button class="cu-btn" @tap="toView('login/login')">登录</button>  
    </view>  
</template>  

<script>  
    export default {  
        methods: {  
            toView(page) {  
                uni.navigateTo({  
                    url: `/pages/${page}`  
                })  
            }  
        },  
        onLoad(option) {  
            console.info('调用了 onLoad:' + option)  
        }  
    }  
</script>  
登录页面主要代码如下  

<template>  
    <view>  
        <button class="cu-btn" @tap="handleLogin">立即登录</button>  
    </view>  
</template>  

<script>  
    export default {  
        methods: {  
            handleLogin() {  
                const delta = 1 // 返回的页面数  
                uni.navigateBack({  
                    delta: delta,  
                    success: () => {  
                        const pages = getCurrentPages() // 获取当前页面栈数组,第一个元素为首页,最后一个元素为当前页面  
                        let page = pages[Math.max(pages.length - 1 - delta, 0)] // 要返回到的页面,超过页面栈,则为首页  
                        page.onLoad(page.options) // 通过调用页面的 onLoad 里面的处理逻辑实现刷新数据  
                    }  
                })  
            }  
        }  
    }  
</script>  
收起阅读 »

大白话,什么是uniCloud?

我们先来了解一下传统的后端服务搭建,我们需要用到ssl、就是我们https协议,我们现在无论是开发app还是小程序都需要用到它,为了网络内容都分发,我们又需要去配置cdn防止DDOS攻击,我们还需要配置高防cdn,然后呢为了负载均衡,我们去配这个oss还有云数据库等等,大量的这种后端网络配套,还有我们的云服务器环境是要自己搭建,升级和维护,那么这个成本就非常高。
国内呢有一家DCloud公司联合了阿里云、腾讯云基于severLess推出了uniCloud,那么我们先来了解一下severles。
severless是让我们只需要管理自己的业务,不在需要去关心这些热备、负载、增容、DDOS攻击等事情 ,也就是说我们前面提到的后端服务配套,它就自身集成且自动升级和维护。
然后severless基于node,js的性能比较高,它降低了前端工程师进入后端开发的门槛,也就是说我们开发uniapp的时候,前端我们用的是js,后端也是js,并且我们现在的团队协作是分模块,而不分前后端的方式,可以大大减少我们的沟通成本。
我们现在的云服务器 ,虽说是可以弹性配置;但是比如有秒杀功能的电商应用,在高峰期时云服务器压力比较大,平常又会闲置和浪费;而severless是真正的做到了自动的弹性扩容,按量收费,就像我们用手机的流量一样,用多少,付多少。
平时开发app时,会有一个流程,我们要先去购买配置域名,再去做域名解析和备案,这里会浪费大量时间。而我们使用severless可以免域名使用,服务器,省去了域名的购买备案解析的流程和成本。
都知道微信小程序有一个叫微信小程序云的微服务,跟我们刚刚提到的severless很像,没错,它就是severless服务。但是微信无论说是微信小程序云还是阿里那边推出的支付宝小程序云,他们都只能提供自身的应用场景。比如说我们的微信小程序云它只能用于开发微信小程序,阿里的就只能开发支付宝小程序。那么我们这里提到的uniCloud是联合我们阿里和腾讯共同开发的一款支持跨端的severless技术,它可以支持我们的微信小程序、支付宝小程序、头条小程序、还有百度小程序,以及qq小程序,以及支持h5应用,和app。另外呢uniCloud底层技术其实已经非常成熟,像阿里云severless已经经过了19年双11的考验,像腾讯公司自己的应用,比如腾讯的生活缴费,腾讯新闻等,都是用的severless技术,所以我们可以放心大胆的拿去商用,总结来说,uniCloud轻松搞定前后台整体业务,实现真正跨端。像接触uniCloud之前,我后端用php,前端用javaScript,需要频繁地去切换思维。又了uniCloud让我的开发变得更加地轻松。

更多unicloud教程查看视频:0基础学unicloud开发,跨端serverless技术

继续阅读 »

我们先来了解一下传统的后端服务搭建,我们需要用到ssl、就是我们https协议,我们现在无论是开发app还是小程序都需要用到它,为了网络内容都分发,我们又需要去配置cdn防止DDOS攻击,我们还需要配置高防cdn,然后呢为了负载均衡,我们去配这个oss还有云数据库等等,大量的这种后端网络配套,还有我们的云服务器环境是要自己搭建,升级和维护,那么这个成本就非常高。
国内呢有一家DCloud公司联合了阿里云、腾讯云基于severLess推出了uniCloud,那么我们先来了解一下severles。
severless是让我们只需要管理自己的业务,不在需要去关心这些热备、负载、增容、DDOS攻击等事情 ,也就是说我们前面提到的后端服务配套,它就自身集成且自动升级和维护。
然后severless基于node,js的性能比较高,它降低了前端工程师进入后端开发的门槛,也就是说我们开发uniapp的时候,前端我们用的是js,后端也是js,并且我们现在的团队协作是分模块,而不分前后端的方式,可以大大减少我们的沟通成本。
我们现在的云服务器 ,虽说是可以弹性配置;但是比如有秒杀功能的电商应用,在高峰期时云服务器压力比较大,平常又会闲置和浪费;而severless是真正的做到了自动的弹性扩容,按量收费,就像我们用手机的流量一样,用多少,付多少。
平时开发app时,会有一个流程,我们要先去购买配置域名,再去做域名解析和备案,这里会浪费大量时间。而我们使用severless可以免域名使用,服务器,省去了域名的购买备案解析的流程和成本。
都知道微信小程序有一个叫微信小程序云的微服务,跟我们刚刚提到的severless很像,没错,它就是severless服务。但是微信无论说是微信小程序云还是阿里那边推出的支付宝小程序云,他们都只能提供自身的应用场景。比如说我们的微信小程序云它只能用于开发微信小程序,阿里的就只能开发支付宝小程序。那么我们这里提到的uniCloud是联合我们阿里和腾讯共同开发的一款支持跨端的severless技术,它可以支持我们的微信小程序、支付宝小程序、头条小程序、还有百度小程序,以及qq小程序,以及支持h5应用,和app。另外呢uniCloud底层技术其实已经非常成熟,像阿里云severless已经经过了19年双11的考验,像腾讯公司自己的应用,比如腾讯的生活缴费,腾讯新闻等,都是用的severless技术,所以我们可以放心大胆的拿去商用,总结来说,uniCloud轻松搞定前后台整体业务,实现真正跨端。像接触uniCloud之前,我后端用php,前端用javaScript,需要频繁地去切换思维。又了uniCloud让我的开发变得更加地轻松。

更多unicloud教程查看视频:0基础学unicloud开发,跨端serverless技术

收起阅读 »

将静态资源 通过 toRemoteURL() 转换为网络路径URL地址 真机测试可以正常显示,打包后无法显示....

HTML5+

plus.io.resolveLocalFileSystemURL("_www/img/S1.jpg",function(entry){
alert("图片 name:"+entry.name);
alert("图片 entry.toRemoteURL();:"+entry.toRemoteURL());
document.getElementById("img2").src=entry.toRemoteURL();

}

继续阅读 »

plus.io.resolveLocalFileSystemURL("_www/img/S1.jpg",function(entry){
alert("图片 name:"+entry.name);
alert("图片 entry.toRemoteURL();:"+entry.toRemoteURL());
document.getElementById("img2").src=entry.toRemoteURL();

}

收起阅读 »

最近HBuilder2.7的云打包怎么使得app的网络请求失败了。代码都是一模一样的????????

最近HBuilder2.7的云打包怎么使得app的网络请求失败了。代码都是一模一样的???????? 这不是搞人心态吗???

最近HBuilder2.7的云打包怎么使得app的网络请求失败了。代码都是一模一样的???????? 这不是搞人心态吗???

Uni-app 写的页面,嵌入到 Android WebView之后, input[type=file] 无法响应,问题解决

Android

uni-app 写的页面,准备打包进 AndroidWebView 结果不能选择文件,以为是 uni-app 代码有问题,在试过原生的 input[type=file] 之后,还是没有响应。最终找到答案,是 Android 端需要设置一下:

参考这两篇:

解决在android webview中input标签type="file"不能使用的问题
android webview不支持input type=file 标签解决办法

继续阅读 »

uni-app 写的页面,准备打包进 AndroidWebView 结果不能选择文件,以为是 uni-app 代码有问题,在试过原生的 input[type=file] 之后,还是没有响应。最终找到答案,是 Android 端需要设置一下:

参考这两篇:

解决在android webview中input标签type="file"不能使用的问题
android webview不支持input type=file 标签解决办法

收起阅读 »

UNI-APP中mapSearch 模块使用方法

map

UNI-APP中mapSearch 模块(module)具体使用案例如下:此方法为官方Demo,由于论坛收不到所以发帖。节约大家的时间。Demo地址 以及官方文档mapsearch-模块

<template>  
    <view class="content">  
        <map class="map" ref="dcmap" :markers="markers" @tap="selectPoint"></map>  
        <scroll-view class="scrollview" scroll-y="true">  
            <button class="button" @click="reverseGeocode">reverseGeocode</button>  
            <button class="button" @click="poiSearchNearBy">poiSearchNearBy</button>  
        </scroll-view>  
    </view>  
</template>  

<script>  
    // 116.397477,39.908692  
    let mapSearch = weex.requireModule('mapSearch')  
    module.exports = {  
        data() {  
            return {  
                markers: [{  
                    id: '1',  
                    latitude: 39.9086920000,  
                    longitude: 116.3974770000,  
                    title: '天安门',  
                    zIndex: '1',  
                    iconPath: '/static/gps.png',  
                    width: 20,  
                    height: 20,  
                    anchor: {  
                        x: 0.5,  
                        y: 1  
                    },  
                    callout: {  
                        content: '首都北京\n天安门',  
                        color: '#00BFFF',  
                        fontSize: 12,  
                        borderRadius: 2,  
                        borderWidth: 0,  
                        borderColor: '#333300',  
                        bgColor: '#CCFF11',  
                        padding: '1',  
                        display: 'ALWAYS'  
                    }  
                }]  
            }  
        },  
        methods: {  
            selectPoint(e) {  
                console.log(e);  
            },  
            reverseGeocode() {  
                var point = this.markers[0]  
                mapSearch.reverseGeocode({  
                    point: {  
                        latitude: point.latitude,  
                        longitude: point.longitude  
                    }  
                }, ret => {  
                    console.log(JSON.stringify(ret));  
                    uni.showModal({  
                        content: JSON.stringify(ret)  
                    })  
                })  
            },  
            poiSearchNearBy() {  
                var point = this.markers[0]  
                mapSearch.poiSearchNearBy({  
                    point: {  
                        latitude: point.latitude,  
                        longitude: point.longitude  
                    },  
                    key: '停车场',  
                    radius: 1000  
                }, ret => {  
                    console.log(ret);  
                    uni.showModal({  
                        content: JSON.stringify(ret)  
                    })  
                })  
            }  
        }  
    }  
</script>  

<style>  
    .content {  
        flex: 1;  
    }  
    .map {  
        width: 750rpx;  
        height: 500rpx;  
        background-color: black;  
    }  
    .scrollview {  
        flex: 1;  
    }  
    .button {  
        margin-top: 30rpx;  
        margin-bottom: 20rpx;  
    }  
</style>
继续阅读 »

UNI-APP中mapSearch 模块(module)具体使用案例如下:此方法为官方Demo,由于论坛收不到所以发帖。节约大家的时间。Demo地址 以及官方文档mapsearch-模块

<template>  
    <view class="content">  
        <map class="map" ref="dcmap" :markers="markers" @tap="selectPoint"></map>  
        <scroll-view class="scrollview" scroll-y="true">  
            <button class="button" @click="reverseGeocode">reverseGeocode</button>  
            <button class="button" @click="poiSearchNearBy">poiSearchNearBy</button>  
        </scroll-view>  
    </view>  
</template>  

<script>  
    // 116.397477,39.908692  
    let mapSearch = weex.requireModule('mapSearch')  
    module.exports = {  
        data() {  
            return {  
                markers: [{  
                    id: '1',  
                    latitude: 39.9086920000,  
                    longitude: 116.3974770000,  
                    title: '天安门',  
                    zIndex: '1',  
                    iconPath: '/static/gps.png',  
                    width: 20,  
                    height: 20,  
                    anchor: {  
                        x: 0.5,  
                        y: 1  
                    },  
                    callout: {  
                        content: '首都北京\n天安门',  
                        color: '#00BFFF',  
                        fontSize: 12,  
                        borderRadius: 2,  
                        borderWidth: 0,  
                        borderColor: '#333300',  
                        bgColor: '#CCFF11',  
                        padding: '1',  
                        display: 'ALWAYS'  
                    }  
                }]  
            }  
        },  
        methods: {  
            selectPoint(e) {  
                console.log(e);  
            },  
            reverseGeocode() {  
                var point = this.markers[0]  
                mapSearch.reverseGeocode({  
                    point: {  
                        latitude: point.latitude,  
                        longitude: point.longitude  
                    }  
                }, ret => {  
                    console.log(JSON.stringify(ret));  
                    uni.showModal({  
                        content: JSON.stringify(ret)  
                    })  
                })  
            },  
            poiSearchNearBy() {  
                var point = this.markers[0]  
                mapSearch.poiSearchNearBy({  
                    point: {  
                        latitude: point.latitude,  
                        longitude: point.longitude  
                    },  
                    key: '停车场',  
                    radius: 1000  
                }, ret => {  
                    console.log(ret);  
                    uni.showModal({  
                        content: JSON.stringify(ret)  
                    })  
                })  
            }  
        }  
    }  
</script>  

<style>  
    .content {  
        flex: 1;  
    }  
    .map {  
        width: 750rpx;  
        height: 500rpx;  
        background-color: black;  
    }  
    .scrollview {  
        flex: 1;  
    }  
    .button {  
        margin-top: 30rpx;  
        margin-bottom: 20rpx;  
    }  
</style>
收起阅读 »

HBuilderX-2.7.12以下版本如何卸载来自插件市场的插件?

插件市场 HBuilderX插件

> 本教程用于安装来自插件市场的HBuilderX插件后,需要卸载插件并且仅适用于HBuilderX版本在2.7.0-2.7.11之间的情况。2.7.12及以上版本开始支持在插件管理界面卸载来自插件市场的插件。

2.7.0-2.7.11之间的HBuilderX卸载来自插件市场的插件时需要手动在HBuilderX安装目录下删除相应的插件。具体操作步骤如下:

手动卸载步骤:

Windows:

1. 打开HBuilderX安装目录下的plugins目录  
2. 根据目录名称找到需要卸载的插件,然后手动删除  
3. 重启HBuilderX  

Macosx:

1. 打开HBuilderX.app目录下的Contents/HBuilderX/plugins目录  
2. 根据目录名称找到需要卸载的插件,然后手动删除  
3. 重启HBuilderX
继续阅读 »

> 本教程用于安装来自插件市场的HBuilderX插件后,需要卸载插件并且仅适用于HBuilderX版本在2.7.0-2.7.11之间的情况。2.7.12及以上版本开始支持在插件管理界面卸载来自插件市场的插件。

2.7.0-2.7.11之间的HBuilderX卸载来自插件市场的插件时需要手动在HBuilderX安装目录下删除相应的插件。具体操作步骤如下:

手动卸载步骤:

Windows:

1. 打开HBuilderX安装目录下的plugins目录  
2. 根据目录名称找到需要卸载的插件,然后手动删除  
3. 重启HBuilderX  

Macosx:

1. 打开HBuilderX.app目录下的Contents/HBuilderX/plugins目录  
2. 根据目录名称找到需要卸载的插件,然后手动删除  
3. 重启HBuilderX
收起阅读 »

代码高亮异常

bug反馈

提bug也不给提, 还要积分.....

好多地方操作细节都不怎么舒服. 建议 HBuilderX 的开发人员同时使用 HBuilderX 和 WebStorm, 对比一下差距, 好好改进

提bug也不给提, 还要积分.....

好多地方操作细节都不怎么舒服. 建议 HBuilderX 的开发人员同时使用 HBuilderX 和 WebStorm, 对比一下差距, 好好改进

HBuilderX 离线安装插件

HBuilderX

windows

  1. 打开资源管理器,进入HBuilderX安装目录
  2. 进入plugins目录
  3. 将插件文件夹, 放置到此目录。(如是zip包,解压即可)
  4. 重启HBuilderX编辑器

Mac

  1. 打开系统终端,输入如下命令,打开HBuilderX插件目录 (注意:mac上,正式版和alpha目录不一样)
  2. 将插件文件夹, 如是zip包,解压即可),放置到plugins目录下
  3. 重启HBuilderX编辑器

正式版命令

open /Applications/HBuilderX.app/Contents/HBuilderX/plugins/

Alpha版命令

open /Applications/HBuilderX-Alpha.app/Contents/HBuilderX/plugins/

备注

nodejs插件,如果插件内,没有node_modules,需要手动执行npm install

继续阅读 »

windows

  1. 打开资源管理器,进入HBuilderX安装目录
  2. 进入plugins目录
  3. 将插件文件夹, 放置到此目录。(如是zip包,解压即可)
  4. 重启HBuilderX编辑器

Mac

  1. 打开系统终端,输入如下命令,打开HBuilderX插件目录 (注意:mac上,正式版和alpha目录不一样)
  2. 将插件文件夹, 如是zip包,解压即可),放置到plugins目录下
  3. 重启HBuilderX编辑器

正式版命令

open /Applications/HBuilderX.app/Contents/HBuilderX/plugins/

Alpha版命令

open /Applications/HBuilderX-Alpha.app/Contents/HBuilderX/plugins/

备注

nodejs插件,如果插件内,没有node_modules,需要手动执行npm install

收起阅读 »

更新到2.7.9,强制v3编译,不再兼容wx.***的接口写法。为什么不早说!!!

bug已确认

如题,更新到2.7.9,强制v3编译,不再兼容wx.***的接口写法。
比如wx.navigateTo 必须改为uni.navigateTo,
不然出现的问题,要么不响应,要么第一次响应后,返回此页面第二次点击就无反应了。
既没有报错提示,也没有什么警告,找了半天的原因,就这?就这?就这?

刚开始做这项目的时候,我记得有个说明,为方便从微信迁移,所以是兼容wx.写法的。
注意事项
所以原来的接口一直没怎么改到。。。
不知道是个别情况,还是以后都不兼容wx.
的写法了。
为什么不提示?为什么不早说?早说啊!为什么不早说?
这么大的问题,给个明显点的提示啊。。。

继续阅读 »

如题,更新到2.7.9,强制v3编译,不再兼容wx.***的接口写法。
比如wx.navigateTo 必须改为uni.navigateTo,
不然出现的问题,要么不响应,要么第一次响应后,返回此页面第二次点击就无反应了。
既没有报错提示,也没有什么警告,找了半天的原因,就这?就这?就这?

刚开始做这项目的时候,我记得有个说明,为方便从微信迁移,所以是兼容wx.写法的。
注意事项
所以原来的接口一直没怎么改到。。。
不知道是个别情况,还是以后都不兼容wx.
的写法了。
为什么不提示?为什么不早说?早说啊!为什么不早说?
这么大的问题,给个明显点的提示啊。。。

收起阅读 »

nvue文件无法改变其全局的背景颜色吗?

app.vue里只能改变vue的全局背景颜色,那么nvue文件的全局背景颜色再哪里改那

app.vue里只能改变vue的全局背景颜色,那么nvue文件的全局背景颜色再哪里改那