前言
最近接觸微信小程序,再次之前公司用的前端框架是vue ,然后對比發現,開發小程序是各種限制,對于開發者非常不友好。各種槽點太多,完全吐槽不過來,所以在此不多說,打算下次專門寫一篇文章吐槽一下。本次主要分享下小程序自定義組件的一點思路,小程序官方提供的框架比較簡陋,原始,可復用較差,沒有實現自定義組件的功能,這讓很多使用vue ,react前端開發非常難受。網上存在各種吐槽,也有分享實現自定義組件的方法,但是要么過于復雜,要么是微信小程序升級之后就不兼容,反正是各種坑你沒商量。在這分享下本人在項目中是如何實現的,歡迎指正批評,互相學習。
toast自定義組件實現
目錄結構
|------components
|------toast
|------toast.js
|------toast.wxml
|------toast.wxss
代碼
toast.wxml
<template name='toast'> <view class="s-toast" wx:if="{{msg}}"> <view class="s-toast-content">{{msg}}</view> </view></template>toast.js
/** * toastMsg 必傳 提示內容 * showTime 非必傳 顯示時間秒*/function toast(page, toastMsg, showTime) { let timer page.setData({ toastMsg }) showTime = showTime || toastMsg.length / 4 console.log(showTime) clearTimeout(timer) timer = setTimeout(() => { page.setData({ toastMsg: '' }) clearTimeout(timer) }, showTime * 1000)}module.exports = { toast: toast,}toast.wxss.s-toast-content { position: fixed; left: 50%; color: #fff; width: 500rpx; bottom: 120rpx; background: hsla(0,0%,7%,.7); padding: 15rpx; text-align: center; -webkit-transform: translateX(-50%); transform: translateX(-50%); border-radius: 4rpx; z-index: 6999;}使用方法
1、wxml引用頁面模板
2、js 文件引用 toast.js
import { toast } from '../../../project/component/toast/toast.js'
新聞熱點
疑難解答