几乎稍微有点复杂的组件就会有自己的事件处理。
目前现在想在小程序里开发复杂点的组件应用,模板和样式需要自己import,数据通过data传入,这都可以自己的解决。但如果这个template里有个button或者input的话该怎么办?
现在想自己处理的话就只能写东西编译了,这对有数十页的应用来说是个灾难。
// avatar.wxml
<template name=“avatar”>
<view bindtap=“show”>Avatar</view>
</template>
// avatar.js
export default {
show () {
alert(‘This is avatar’)
}
}
// indexPage.js
import avatar from ‘./avatar’
Page({
onLoad () {
Object.assign(this, avatar);
// or
this.show = avatar.show
}
})
// indexPage.wxml
<import src="./avatar.wxml" />
<template is=“avatar” />
components定义如下:
< text class = "quit" bindtap = "quit" >退出</ text > |
import * as wechat from '../../libs/wechat' export default { data: { userName: '' , }, quit(e) { console.log( 'header-title-quit' ); //清空个人信息及token, wechat.removeSNToken().then(() => { return wechat.removeSNUserInfo() }).then(() => { wx.redirectTo({ url: '../login/login' }) }); }, } |
我使用deep-asign.js 将对象合并
let p = deepAssign(storeSelect, headerTitle, errorMsg); console.log( 'p' , p); // 创建页面实例对象 Page(p) |
输出:
然而quit事件仍然没激活,请问知道原因么?@侯耀