npm install wepy-cli -g
wepy init standard my-project ( 1.7.0之后版本)
cd myproject 进行项目
npm install 安装依赖
wepy build --watch 生成dist文件夹
打开微信小程序开发工具,添加项目,直接运行即可
project.config.json有这个文件,miniprogramRoot里面配置直接调用dist文件夹下面的app.json,如果没有手动添加
npm install wepy-async-function --save
import ‘wepy-async-function’;
import wepy from ‘wepy’;
export default class Index extends wepy.page {} // 页面通过继承自wepy.page的类创建页面逻辑 => 原生的 Page({})
export default class Index extends wepy.component{} //组件
export default class extends wepy.app{} //入口文件
通过继承自wepy.page的类创建页面逻辑
export default class Index extends wepy.page {
//可用于页面模板绑定的数据
data = {
motto: 'Hello World',
userInfo: {}
};
//事件处理函数(集中保存在methods对象中)
methods = {
bindViewTap () {
console.log('button clicked');
}
};
computed = {
now () {
return +new Date()
}
};
//页面的生命周期函数
onLoad() {
console.log('onLoad');
};
}
1. 脚本部分,即标签中的内容,又可分为两个部分: vue脚本 export default {} data是一个函数
逻辑部分,除了config对象之外的部分,对应于原生的.js文件;
配置部分,即config对象,对应于原生的.json文件。
2. 结构部分,即模板部分,对应于原生的.wxml文件。 vue是也是模板 template DOM块 必须有跟元素
3. 样式部分,即样式部分,对应于原生的.wxss文件。 vue是.css文件 scoped局部样式
其中,小程序入口文件app.wpy不需要template,所以编译时会被忽略。.wpy文件中的script、template、style这三个标签都支持lang和src属性,lang决定了其代码编译过程,src决定是否外联代码,存在src属性且有效时,会忽略内联代码。
入口文件app.wpy中所声明的小程序实例继承自wepy.app类
export default class extends wepy.app {
config = {pages:{}, window:{}};
}
页面文件page.wpy中所声明的页面实例继承自wepy.page类
config, page.json 页面配置信息 {}
components: 页面使用的组件 {}
data: 数据集合,页面使用的数据, 原生也是一个data {}
methods: 页面的交互集合,原生是展开的 {}
events
声明周期
import wepy from 'wepy';
// 声明一个App小程序实例
export default class MyAPP extends wepy.app {
}
// 声明一个Page页面实例
export default class IndexPage extends wepy.page {
}
// 声明一个Component组件实例
export default class MyComponent extends wepy.component {
}
import wepy from 'wepy';
export default class MyPage extends wepy.page {
// export default class MyComponent extends wepy.component {
customData = {} // 自定义数据
customFunction () {} //自定义方法
onLoad () {} // 在Page和Component共用的生命周期函数
onShow () {} // 只在Page中存在的页面生命周期函数
config = {}; // 只在Page实例中存在的配置数据,对应于原生的page.json文件
data = {}; // 页面所需数据均需在这里声明,可用于模板数据绑定
components = {}; // 声明页面中所引用的组件,或声明组件中所引用的子组件
mixins = []; // 声明页面所引用的Mixin实例
computed = {}; // 声明计算属性(详见后文介绍)
watch = {}; // 声明数据watcher(详见后文介绍)
methods = {}; // 声明页面wxml中标签的事件处理函数。注意,此处只用于声明页面wxml中标签的bind、catch事件,自定义方法需以自定义方法的方式声明
events = {}; // 声明组件之间的事件处理函数
}
注意: methods属性只能声明页面wxml标签的bind、catch事件,不能声明自定义方法,这与Vue中的用法是不一致
this.计算属性名来引用, {{computedName}}
computed = {
aPlus () {
return this.a + 1
}
}
watch = {
num (newValue, oldValue) {
console.log(`num value: ${oldValue} -> ${newValue}`)
}
}
data= {
name: 'wepy'
}
methods = {
fn(){},
getX(){}
}
水电费
wx.request()优化封装: => https://blog.csdn.net/tech_Wang/article/details/80502087