微信公众号怎么做成微网站,上海求职网招聘网,免费的源码,和wordpress一样的一.生命周期及其四个阶段
Vue生命周期#xff1a;一个Vue实例从创建到销毁的整个过程 生命周期四个阶段#xff1a;①创建②挂载③更新④销毁
bodydiv idapph3{{ title }}/h3divbutton clickcount--一个Vue实例从创建到销毁的整个过程 生命周期四个阶段①创建②挂载③更新④销毁
bodydiv idapph3{{ title }}/h3divbutton clickcount---/buttonspan{{ count }}/spanbutton clickcount/button/div/divscript srchttps://cdn.jsdelivr.net/npm/vue2/dist/vue.js/scriptscriptconst app new Vue({el: #app,data: {count: 100,title: 计数器},// 1. 创建阶段准备数据beforeCreate () {console.log(beforeCreate 响应式数据准备好之前, this.count)},created () {console.log(created 响应式数据准备好之后, this.count)// this.数据名 请求回来的数据// 可以开始发送初始化渲染的请求了},// 2. 挂载阶段渲染模板beforeMount () {console.log(beforeMount 模板渲染之前, document.querySelector(h3).innerHTML)},mounted () {console.log(mounted 模板渲染之后, document.querySelector(h3).innerHTML)// 可以开始操作dom了},// 3. 更新阶段(修改数据 → 更新视图)beforeUpdate () {console.log(beforeUpdate 数据修改了视图还没更新, document.querySelector(span).innerHTML)},updated () {console.log(updated 数据修改了视图已经更新, document.querySelector(span).innerHTML)},// 4. 卸载阶段beforeDestroy () {console.log(beforeDestroy, 卸载前)console.log(清除掉一些Vue以外的资源占用定时器延时器...)},destroyed () {console.log(destroyed卸载后)}})/script
/body二.created应用
created响应式数据准备好了可以开始发送初始化渲染请求
headstyle* {margin: 0;padding: 0;list-style: none;}.news {display: flex;height: 120px;width: 600px;margin: 0 auto;padding: 20px 0;cursor: pointer;}.news .left {flex: 1;display: flex;flex-direction: column;justify-content: space-between;padding-right: 10px;}.news .left .title {font-size: 20px;}.news .left .info {color: #999999;}.news .left .info span {margin-right: 20px;}.news .right {width: 160px;height: 120px;}.news .right img {width: 100%;height: 100%;object-fit: cover;}/style
/head
bodydiv idappulli v-for(item, index) in list :keyitem.id classnewsdiv classleftdiv classtitle{{ item.title }}/divdiv classinfospan{{ item.source }}/spanspan{{ item.time }}/span/div/divdiv classrightimg :srcitem.img alt/div/li/ul/divscript srchttps://cdn.jsdelivr.net/npm/vue2/dist/vue.js/scriptscript srchttps://cdn.jsdelivr.net/npm/axios/dist/axios.min.js/scriptscript// 接口地址http://hmajax.itheima.net/api/news// 请求方式getconst app new Vue({el: #app,data: {list: []},async created () {// 1. 发送请求获取数据const res await axios.get(http://hmajax.itheima.net/api/news)// 2. 更新到 list 中用于页面渲染 v-forthis.list res.data.data}})/script
/body三.小黑的记账清单 head!-- CSS only --linkrelstylesheethrefhttps://cdn.jsdelivr.net/npm/bootstrap5.1.3/dist/css/bootstrap.min.css/style.red {color: red!important;}.search {width: 300px;margin: 20px 0;}.my-form {display: flex;margin: 20px 0;}.my-form input {flex: 1;margin-right: 20px;}.table :not(:first-child) {border-top: none;}.contain {display: flex;padding: 10px;}.list-box {flex: 1;padding: 0 30px;}.list-box a {text-decoration: none;}.echarts-box {width: 600px;height: 400px;padding: 30px;margin: 0 auto;border: 1px solid #ccc;}tfoot {font-weight: bold;}media screen and (max-width: 1000px) {.contain {flex-wrap: wrap;}.list-box {width: 100%;}.echarts-box {margin-top: 30px;}}/style/headbodydiv idappdiv classcontain!-- 左侧列表 --div classlist-box!-- 添加资产 --form classmy-forminput v-model.trimname typetext classform-control placeholder消费名称 /input v-model.numberprice typetext classform-control placeholder消费价格 /button clickadd typebutton classbtn btn-primary添加账单/button/formtable classtable table-hovertheadtrth编号/thth消费名称/thth消费价格/thth操作/th/tr/theadtbodytr v-for(item, index) in list :keyitem.idtd{{ index 1 }}/tdtd{{ item.name }}/tdtd :class{ red: item.price 500 }{{ item.price.toFixed(2) }}/tdtda clickdel(item.id) hrefjavascript:;删除/a/td/tr/tbodytfoottrtd colspan4消费总计 {{ totalPrice.toFixed(2) }}/td/tr/tfoot/table/div!-- 右侧图表 --div classecharts-box idmain/div/div/divscript srchttps://cdn.jsdelivr.net/npm/echarts5.4.0/dist/echarts.min.js/scriptscript srchttps://cdn.jsdelivr.net/npm/vue2/dist/vue.js/scriptscript srchttps://cdn.jsdelivr.net/npm/axios/dist/axios.min.js/scriptscript/*** 接口文档地址* https://www.apifox.cn/apidoc/shared-24459455-ebb1-4fdc-8df8-0aff8dc317a8/api-53371058* * 功能需求* 1. 基本渲染* (1) 立刻发送请求获取数据 created* (2) 拿到数据存到data的响应式数据中* (3) 结合数据进行渲染 v-for* (4) 消费统计 计算属性* 2. 添加功能* (1) 收集表单数据 v-model* (2) 给添加按钮注册点击事件发送添加请求* (3) 需要重新渲染* 3. 删除功能* (1) 注册点击事件传参传 id* (2) 根据 id 发送删除请求* (3) 需要重新渲染* 4. 饼图渲染* (1) 初始化一个饼图 echarts.init(dom) mounted钩子实现* (2) 根据数据实时更新饼图 echarts.setOption({ ... })*/const app new Vue({el: #app,data: {list: [],name: ,price: },computed: {totalPrice () {return this.list.reduce((sum, item) sum item.price, 0)}},created () {// const res await axios.get(https://applet-base-api-t.itheima.net/bill, {// params: {// creator: 小黑// }// })// this.list res.data.datathis.getList()},mounted () {this.myChart echarts.init(document.querySelector(#main))this.myChart.setOption({// 大标题title: {text: 消费账单列表,left: center},// 提示框tooltip: {trigger: item},// 图例legend: {orient: vertical,left: left},// 数据项series: [{name: 消费账单,type: pie,radius: 50%, // 半径data: [// { value: 1048, name: 球鞋 },// { value: 735, name: 防晒霜 }],emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: rgba(0, 0, 0, 0.5)}}}]})},methods: {async getList () {const res await axios.get(https://applet-base-api-t.itheima.net/bill, {params: {creator: 小黑}})this.list res.data.data// 更新图表this.myChart.setOption({// 数据项series: [{// data: [// { value: 1048, name: 球鞋 },// { value: 735, name: 防晒霜 }// ]data: this.list.map(item ({ value: item.price, name: item.name}))}]})},async add () {if (!this.name) {alert(请输入消费名称)return}if (typeof this.price ! number) {alert(请输入正确的消费价格)return}// 发送添加请求const res await axios.post(https://applet-base-api-t.itheima.net/bill, {creator: 小黑,name: this.name,price: this.price})// 重新渲染一次this.getList()this.name this.price },async del (id) {// 根据 id 发送删除请求const res await axios.delete(https://applet-base-api-t.itheima.net/bill/${id})// 重新渲染this.getList()}}})/script/body四.工程化开发和脚手架Vue CLI
开发Vue的两种方式 1.核心包传统开发模式基于html / css / js文件直接引入核心包开发Vue 2.工程化开发模式基于构建工具例如webpack的环境中开发Vue
五.项目目录介绍和运行流程 六.组件化开发和根组件
组件化一个页面可以拆分为一个个组件每个组件有着自己独立的结构、样式、行为。
好处便于维护利于复用 → 提升开发效率 组件分类普通组件、根组件。
根组件整个应用最上层的组件包裹所有普通小组件
APP.vue文件组成
①template结构有且只有一个根目录 ②scriptjs逻辑 ③style样式可支持less需要装包
七.普通组件的注册使用
局部注册只能在注册的组件内使用
①创建 . vue文件三个部分组成 ②在使用的组件内导入并注册
templatediv classApp!-- 头部组件 --HmHeader/HmHeader!-- 主体组件 --HmMain/HmMain!-- 底部组件 --HmFooter/HmFooter!-- 如果 HmFooter tab 出不来 → 需要配置 vscode设置中搜索 trigger on tab → 勾上--/div
/templatescript
import HmHeader from ./components/HmHeader.vue
import HmMain from ./components/HmMain.vue
import HmFooter from ./components/HmFooter.vue
export default {components: {// 组件名: 组件对象HmHeader: HmHeader,HmMain,HmFooter}
}
/scriptstyle
.App {width: 600px;height: 700px;background-color: #87ceeb;margin: 0 auto;padding: 20px;
}
/style全局注册所有组件内都能使用
使用当成html标签使用 注意组件名规范 → 大驼峰命名法如HmHeader ①创建 . vue文件三个部分组成 ②main . js中进行全局注册
templatediv classApp!-- 头部组件 --HmHeader/HmHeader!-- 主体组件 --HmMain/HmMain!-- 底部组件 --HmFooter/HmFooter!-- 如果 HmFooter tab 出不来 → 需要配置 vscode设置中搜索 trigger on tab → 勾上--/div
/templatescript
import HmHeader from ./components/HmHeader.vue
import HmMain from ./components/HmMain.vue
import HmFooter from ./components/HmFooter.vue
export default {components: {// 组件名: 组件对象HmHeader: HmHeader,HmMain,HmFooter}
}
/scriptstyle
.App {width: 600px;height: 700px;background-color: #87ceeb;margin: 0 auto;padding: 20px;
}
/style八.小兔鲜首页
templatediv classApp!-- 快捷链接 --div classshortcutdiv classwrapperullia href# classlogin请先登录/a/lilia href#免费注册/a/lilia href#我的订单/a/lilia href#会员中心/a/lilia href#帮助中心/a/lilia href#在线客服/a/lilia href#span classiconfont icon-mobile-phone/span手机版/a/li/ul/div/div!-- 头部导航 --div classheader wrapper!-- logo --div classlogoh1a href#小兔鲜儿/a/h1/div!-- 导航 --div classnavullia href#首页/a/lilia href#生鲜/a/lilia href#美食/a/lilia href#餐厨/a/lilia href#电器/a/lilia href#居家/a/lilia href#洗护/a/lilia href#孕婴/a/lilia href#服装/a/li/ul/div!-- 搜索 --div classsearchspan classiconfont icon-search/spaninput typetext placeholder搜一搜 //div!-- 购物车 --div classcartspan classiconfont icon-cart-full/spani2/i/div/div!-- 轮播区域 --div classbannerdiv classwrapper!-- 图 --ul classpiclia href#img src/assets/images/banner1.png alt //a/lilia href#img src/assets/images/banner1.png alt //a/li/ul!-- 侧导航 --div classsubnavullidivspana href#生鲜/a/spanspana href#水果/aa href#蔬菜/a/span/divi classiconfont icon-arrow-right-bold/i/lilidivspana href#美食/a/spanspana href#面点/aa href#干果/a/span/divi classiconfont icon-arrow-right-bold/i/lilidivspana href#餐厨/a/spanspana href#数码产品/a/span/divi classiconfont icon-arrow-right-bold/i/lilidivspana href#电器/a/spanspana href#床品/aa href#四件套/aa href#被枕/a/span/divi classiconfont icon-arrow-right-bold/i/lilidivspana href#居家/a/spanspana href#奶粉/aa href#玩具/aa href#辅食/a/span/divi classiconfont icon-arrow-right-bold/i/lilidivspana href#洗护/a/spanspana href#洗发/aa href#洗护/aa href#美妆/a/span/divi classiconfont icon-arrow-right-bold/i/lilidivspana href#孕婴/a/spanspana href#奶粉/aa href#玩具/a/span/divi classiconfont icon-arrow-right-bold/i/lilidivspana href#服饰/a/spanspana href#女装/aa href#男装/a/span/divi classiconfont icon-arrow-right-bold/i/lilidivspana href#杂货/a/spanspana href#户外/aa href#图书/a/span/divi classiconfont icon-arrow-right-bold/i/lilidivspana href#品牌/a/spanspana href#品牌制造/a/span/divi classiconfont icon-arrow-right-bold/i/li/ul/div!-- 指示器 --olli classcurrenti/i/lilii/i/lilii/i/li/ol/div/div!-- 新鲜好物 --div classgoods wrapperdiv classtitlediv classlefth3新鲜好物/h3p新鲜出炉 品质靠谱/p/divdiv classrighta href# classmore查看全部span classiconfont icon-arrow-right-bold/span/a/div/divdiv classbdullia href#div classpicimg src/assets/images/goods1.png alt //divdiv classtxth4KN95级莫兰迪色防护口罩/h4p¥ span79/span/p/div/a/lilia href#div classpicimg src/assets/images/goods2.png alt //divdiv classtxth4KN95级莫兰迪色防护口罩/h4p¥ span566/span/p/div/a/lilia href#div classpicimg src/assets/images/goods3.png alt //divdiv classtxth4法拉蒙高颜值记事本可定制/h4p¥ span58/span/p/div/a/lilia href#div classpicimg src/assets/images/goods4.png alt //divdiv classtxth4科技布布艺沙发/h4p¥ span3759/span/p/div/a/li/ul/div/div!-- 热门品牌 --div classhotdiv classwrapperdiv classtitlediv classlefth3热门品牌/h3p国际经典 品质认证/p/divdiv classbuttona href#i classiconfont icon-arrow-left-bold/i/aa href#i classiconfont icon-arrow-right-bold/i/a/div/divdiv classbdullia href#img src/assets/images/hot1.png alt //a/lilia href#img src/assets/images/hot2.png alt //a/lilia href#img src/assets/images/hot3.png alt //a/lilia href#img src/assets/images/hot4.png alt //a/lilia href#img src/assets/images/hot5.png alt //a/li/ul/div/div/div!-- 最新专题 --div classtopic wrapperdiv classtitlediv classlefth3最新专题/h3/divdiv classrighta href# classmore查看全部span classiconfont icon-arrow-right-bold/span/a/div/divdiv classtopic_bdullia href#div classpicimg src/assets/images/topic1.png alt /div classinfodiv classlefth5吃这些美食才不算辜负自己/h5p餐厨起居洗护好物/p/divdiv classright¥span29.9/span起/div/div/divdiv classtxtdiv classleftpspan classiconfont icon-favorites-fill red/spani1200/i/ppspan classiconfont icon-browse/spani1800/i/p/divdiv classrightspan classiconfont icon-comment/spani246/i/div/div/a/lilia href#div classpicimg src/assets/images/topic2.png alt /div classinfodiv classlefth5吃这些美食才不算辜负自己/h5p餐厨起居洗护好物/p/divdiv classright¥span29.9/span起/div/div/divdiv classtxtdiv classleftpspan classiconfont icon-fabulous/spani1200/i/ppspan classiconfont icon-browse/spani1800/i/p/divdiv classrightspan classiconfont icon-comment/spani246/i/div/div/a/lilia href#div classpicimg src/assets/images/topic3.png alt /div classinfodiv classlefth5吃这些美食才不算辜负自己/h5p餐厨起居洗护好物/p/divdiv classright¥span29.9/span起/div/div/divdiv classtxtdiv classleftpspan classiconfont icon-fabulous/spani1200/i/ppspan classiconfont icon-browse/spani1800/i/p/divdiv classrightspan classiconfont icon-comment/spani246/i/div/div/a/li/ul/div/div!-- 版权底部 --div classfooterdiv classwrapperdiv classserviceullispan/spanp价格亲民/p/lilispan/spanp物流快捷/p/lilispan/spanp品质新鲜/p/lilispan/spanp售后无忧/p/li/ul/divdiv classhelpdiv classleftdldt购物指南/dtdda href#购物流程/a/dddda href#支付方式/a/dddda href#售后规则/a/dd/dldldt配送方式/dtdda href#配送运费/a/dddda href#配送范围/a/dddda href#配送时间/a/dd/dldldt关于我们/dtdda href#平台规则/a/dddda href#联系我们/a/dddda href#问题反馈/a/dd/dldldt售后服务/dtdda href#售后政策/a/dddda href#退款说明/a/dddda href#取消订单/a/dd/dldldt服务热线/dtdda href#在线客服span classiconfont icon-customer-service/span/a/dddda href#客服电话 400-0000-000/a/dddda href#工作时间 周一至周日 8:00-18:00/a/dd/dl/divdiv classrightullidivimg src/assets/images/wechat.png alt //divp微信公众号/p/lilidivimg src/assets/images/app.png alt //divpAPP下载二维码/p/li/ul/div/divdiv classcopyrightpa href#关于我们/a|a href#帮助中心/a|a href#售后服务/a|a href#配送与验收/a|a href#商务合作/a|a href#搜索推荐/a|a href#友情链接/a/ppCopyRight © 小兔鲜/p/div/div/div/div
/templatescript
export default {}
/scriptstyle/style
文章转载自: http://www.morning.rknhd.cn.gov.cn.rknhd.cn http://www.morning.tqwcm.cn.gov.cn.tqwcm.cn http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn http://www.morning.fbxlj.cn.gov.cn.fbxlj.cn http://www.morning.mqghs.cn.gov.cn.mqghs.cn http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn http://www.morning.hryhq.cn.gov.cn.hryhq.cn http://www.morning.rwls.cn.gov.cn.rwls.cn http://www.morning.rkgyx.cn.gov.cn.rkgyx.cn http://www.morning.bnrff.cn.gov.cn.bnrff.cn http://www.morning.gybnk.cn.gov.cn.gybnk.cn http://www.morning.rgmls.cn.gov.cn.rgmls.cn http://www.morning.kcypc.cn.gov.cn.kcypc.cn http://www.morning.pfntr.cn.gov.cn.pfntr.cn http://www.morning.wchcx.cn.gov.cn.wchcx.cn http://www.morning.grtwn.cn.gov.cn.grtwn.cn http://www.morning.yldgw.cn.gov.cn.yldgw.cn http://www.morning.lyldhg.cn.gov.cn.lyldhg.cn http://www.morning.mnkhk.cn.gov.cn.mnkhk.cn http://www.morning.dqzcf.cn.gov.cn.dqzcf.cn http://www.morning.knmby.cn.gov.cn.knmby.cn http://www.morning.zhqfn.cn.gov.cn.zhqfn.cn http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn http://www.morning.krklj.cn.gov.cn.krklj.cn http://www.morning.wtrjq.cn.gov.cn.wtrjq.cn http://www.morning.zrwlz.cn.gov.cn.zrwlz.cn http://www.morning.tfbpz.cn.gov.cn.tfbpz.cn http://www.morning.ykrg.cn.gov.cn.ykrg.cn http://www.morning.nxfuke.com.gov.cn.nxfuke.com http://www.morning.mywmb.cn.gov.cn.mywmb.cn http://www.morning.rczrq.cn.gov.cn.rczrq.cn http://www.morning.thzgd.cn.gov.cn.thzgd.cn http://www.morning.dpbgw.cn.gov.cn.dpbgw.cn http://www.morning.dgknl.cn.gov.cn.dgknl.cn http://www.morning.pkmcr.cn.gov.cn.pkmcr.cn http://www.morning.fnkcg.cn.gov.cn.fnkcg.cn http://www.morning.btpzn.cn.gov.cn.btpzn.cn http://www.morning.czcbl.cn.gov.cn.czcbl.cn http://www.morning.yrjxr.cn.gov.cn.yrjxr.cn http://www.morning.tfzjl.cn.gov.cn.tfzjl.cn http://www.morning.rcjqgy.com.gov.cn.rcjqgy.com http://www.morning.ruifund.com.gov.cn.ruifund.com http://www.morning.qclmz.cn.gov.cn.qclmz.cn http://www.morning.jqpyq.cn.gov.cn.jqpyq.cn http://www.morning.lztrt.cn.gov.cn.lztrt.cn http://www.morning.srrrz.cn.gov.cn.srrrz.cn http://www.morning.gsksm.cn.gov.cn.gsksm.cn http://www.morning.wkpfm.cn.gov.cn.wkpfm.cn http://www.morning.vvbsxm.cn.gov.cn.vvbsxm.cn http://www.morning.cwqrj.cn.gov.cn.cwqrj.cn http://www.morning.tkyry.cn.gov.cn.tkyry.cn http://www.morning.nysjb.cn.gov.cn.nysjb.cn http://www.morning.cyysq.cn.gov.cn.cyysq.cn http://www.morning.grwgw.cn.gov.cn.grwgw.cn http://www.morning.gjqnn.cn.gov.cn.gjqnn.cn http://www.morning.ngmjn.cn.gov.cn.ngmjn.cn http://www.morning.bmqls.cn.gov.cn.bmqls.cn http://www.morning.jlpdc.cn.gov.cn.jlpdc.cn http://www.morning.yrdn.cn.gov.cn.yrdn.cn http://www.morning.mgbsp.cn.gov.cn.mgbsp.cn http://www.morning.pqcrz.cn.gov.cn.pqcrz.cn http://www.morning.pxdgy.cn.gov.cn.pxdgy.cn http://www.morning.gjws.cn.gov.cn.gjws.cn http://www.morning.nqmwk.cn.gov.cn.nqmwk.cn http://www.morning.myrmm.cn.gov.cn.myrmm.cn http://www.morning.xhsxj.cn.gov.cn.xhsxj.cn http://www.morning.bsxws.cn.gov.cn.bsxws.cn http://www.morning.bnygf.cn.gov.cn.bnygf.cn http://www.morning.lbbrw.cn.gov.cn.lbbrw.cn http://www.morning.bytgy.com.gov.cn.bytgy.com http://www.morning.rckmz.cn.gov.cn.rckmz.cn http://www.morning.qbrdg.cn.gov.cn.qbrdg.cn http://www.morning.mxptg.cn.gov.cn.mxptg.cn http://www.morning.rjznm.cn.gov.cn.rjznm.cn http://www.morning.mnrqq.cn.gov.cn.mnrqq.cn http://www.morning.bxdlrcz.cn.gov.cn.bxdlrcz.cn http://www.morning.plxnn.cn.gov.cn.plxnn.cn http://www.morning.snkry.cn.gov.cn.snkry.cn http://www.morning.yjtnc.cn.gov.cn.yjtnc.cn http://www.morning.jfmyt.cn.gov.cn.jfmyt.cn