UNPKG

@tpls/wxapp-component

Version:

template for jscli

70 lines (59 loc) 1.93 kB
import { baseComponent } from '@xmini/wxapp-component-base/index'; // 数据从外层传入 baseComponent({ // 以下数据未参考 props: { hidden: Boolean, // 简化的定义方式 duration: { type: [Number, Object], value: 300 }, // 属性名 cityList: { // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型) type: Array, // 属性初始值(可选),如果未指定则会根据类型选择一个 value: [], // 属性被改变时执行的函数(可选),也可以写成在methods段中定义的方法名字符串, 如:'_propertyChange' // 通常 newVal 就是新设置的数据, oldVal 是旧数据 observer: function(newVal, oldVal, changedPath) { }, }, }, data: {}, // 私有数据,可用于模板渲染 lifetimes: { // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached: function () { }, moved: function () { }, detached: function () { }, }, // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 // 此处attached的声明会被lifetimes字段中的声明覆盖 attached: function () { }, ready: function() { }, pageLifetimes: { // 组件所在页面的生命周期函数 show: function () { }, hide: function () { }, resize: function () { }, }, methods: { onClick() { this.$emit('click'); }, onSelect: function(){ // 更新属性和数据的方法与更新页面数据的方法类似 this.setData({ }); }, // 内部方法建议以下划线开头 _myPrivateMethod: function(){ // 这里将 data.A[0].B 设为 'myPrivateData' this.setData({ 'A[0].B': 'myPrivateData' }) }, _propertyChange: function(newVal, oldVal) { }, }, });