当前位置: 首页 > news >正文

成都旅游景点排名前十濮阳网站优化公司哪家好

成都旅游景点排名前十,濮阳网站优化公司哪家好,网站的全栈建设,长沙网站制作公司地址一、今日目标 1.生命周期 生命周期介绍生命周期的四个阶段生命周期钩子声明周期案例 2.工程化开发入门 工程化开发和脚手架项目运行流程组件化组件注册 二、Vue生命周期 思考#xff1a;什么时候可以发送初始化渲染请求#xff1f;#xff08;越早越好#xff09;什么…一、今日目标 1.生命周期 生命周期介绍生命周期的四个阶段生命周期钩子声明周期案例 2.工程化开发入门 工程化开发和脚手架项目运行流程组件化组件注册 二、Vue生命周期 思考什么时候可以发送初始化渲染请求越早越好什么时候可以开始操作dom至少dom得渲染出来 Vue生命周期就是一个Vue实例从创建 到 销毁 的整个过程。 生命周期四个阶段① 创建 ② 挂载 ③ 更新 ④ 销毁 1.创建阶段创建响应式数据 2.挂载阶段渲染模板 3.更新阶段修改数据更新视图 4.销毁阶段销毁Vue实例 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DACIFzt7-1693057054325)(assets/1682065937815.png)] 三、Vue生命周期钩子 Vue生命周期过程中会自动运行一些函数被称为【生命周期钩子】→ 让开发者可以在【特定阶段】运行自己的代码 !DOCTYPE html html langen headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title /head 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 /html四、生命周期钩子小案例 1.在created中发送数据 !DOCTYPE html html langen headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/titlestyle* {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 /html2.在mounted中获取焦点 !DOCTYPE html html langzh-CNheadmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0title示例-获取焦点/title!-- 初始化样式 --link relstylesheet hrefhttps://cdn.jsdelivr.net/npm/reset.css2.0.2/reset.min.css!-- 核心样式 --stylehtml,body {height: 100%;}.search-container {position: absolute;top: 30%;left: 50%;transform: translate(-50%, -50%);text-align: center;}.search-container .search-box {display: flex;}.search-container img {margin-bottom: 30px;}.search-container .search-box input {width: 512px;height: 16px;padding: 12px 16px;font-size: 16px;margin: 0;vertical-align: top;outline: 0;box-shadow: none;border-radius: 10px 0 0 10px;border: 2px solid #c4c7ce;background: #fff;color: #222;overflow: hidden;box-sizing: content-box;-webkit-tap-highlight-color: transparent;}.search-container .search-box button {cursor: pointer;width: 112px;height: 44px;line-height: 41px;line-height: 42px;background-color: #ad2a27;border-radius: 0 10px 10px 0;font-size: 17px;box-shadow: none;font-weight: 400;border: 0;outline: 0;letter-spacing: normal;color: white;}body {background: no-repeat center /cover;background-color: #edf0f5;}/style /headbody div classcontainer idappdiv classsearch-containerimg srchttps://www.itheima.com/images/logo.png altdiv classsearch-boxinput typetext v-modelwords idinpbutton搜索一下/button/div/div /divscript srchttps://cdn.jsdelivr.net/npm/vue2/dist/vue.js/script scriptconst app new Vue({el: #app,data: {words: },// 核心思路// 1. 等input框渲染出来 mounted 钩子// 2. 让input框获取焦点 inp.focus()mounted () {document.querySelector(#inp).focus()}}) /script/body/html五、工程化开发和脚手架 1.开发Vue的两种方式 核心包传统开发模式基于html / css / js 文件直接引入核心包开发 Vue工程化开发模式基于构建工具例如webpack的环境中开发Vue 工程化开发模式优点 提高编码效率比如使用JS新语法、Less/Sass、Typescript等通过webpack都可以编译成浏览器识别的ES3/ES5/CSS等 工程化开发模式问题 webpack配置不简单雷同的基础配置缺乏统一的标准 为了解决以上问题所以我们需要一个工具生成标准化的配置 2.脚手架Vue CLI 基本介绍 Vue CLI 是Vue官方提供的一个全局命令工具 可以帮助我们快速创建一个开发Vue项目的标准化基础架子。【集成了webpack配置】 好处 开箱即用零配置内置babel等工具标准化的webpack配置 使用步骤 全局安装只需安装一次即可 yarn global add vue/cli 或者 npm i vue/cli -g查看vue/cli版本 vue --version创建项目架子 vue create project-name #(项目名不能使用中文)启动项目 yarn serve 或者 npm run serve (命令不固定找package.json)六、项目目录介绍和运行流程 1.项目目录介绍 虽然脚手架中的文件有很多目前咱们只需人事三个文件即可 1. main.js 入口文件 2.App.vue App根组件 3. index.html 模板文件 2.运行流程 七、组件化开发 组件化一个页面可以拆分成一个个组件每个组件有着自己独立的结构、样式、行为 好处便于维护利于复用 → 提升开发效率 组件分类普通组件、根组件 ​ 比如下面这个页面可以把所有的代码都写在一个页面中但是这样显得代码比较混乱难易维护。咱们可以按模块进行组件划分 八、根组件 App.vue 1.根组件介绍 整个应用最上层的组件包裹所有普通小组件 2.组件是由三部分构成 语法高亮插件 三部分构成 template结构 有且只能一个根元素script: js逻辑 style 样式 (可支持less需要装包) 让组件支持less 1 style标签lang“less” 开启less功能 2 装包: yarn add less less-loader -D 或者npm i less less-loader -D 九、普通组件的注册使用-局部注册 1.特点 只能在注册的组件内使用 2.步骤 创建.vue文件三个组成部分在使用的组件内先导入再注册最后使用 3.使用方式 当成html标签使用即可 组件名/组件名 4.注意 组件名规范 — 大驼峰命名法 如 HmHeader 5.语法 // 导入需要注册的组件 // import 组件对象 from .vue文件路径 import HmHeader from ./components/HmHeaderexport default { // 局部注册components: {// 组件名: 组件对象,HmHeader:HmHeaer,HmHeader // 也可以简写} }十、普通组件的注册使用-全局注册 1.特点 全局注册的组件在项目的任何组件中都能使用 2.步骤 创建.vue组件三个组成部分main.js中进行全局注册 3.使用方式 当成HTML标签直接使用 组件名/组件名 4.注意 组件名规范 — 大驼峰命名法 如 HmHeader 5.语法 Vue.component(‘组件名’, 组件对象) 例 // 导入需要全局注册的组件 import HmButton from ./components/HmButton Vue.component(HmButton, HmButton)
http://www.hkea.cn/news/14320055/

相关文章:

  • 廊坊哪里有做网站建设的腾讯企点多少钱一个
  • 网站干什么的WordPress用页面写文章
  • 网站建设推推蛙陕西网络推广公司
  • 河南省建设执业资格注册中心网站做社区网站
  • 即墨有做网站的吗有没有做php项目实战的网站
  • 长沙网页制作模板的网站wordpress 分类 id
  • 南京电信网站备案哈尔滨市人社app
  • 文章资讯类网站模板访问wordpress数据库
  • 网站在线建设方案dw做网站简单吗
  • dsicuz做的网站郑州做网站狼牙
  • 广东住房和城乡建设厅网站首页国外网络推广方法
  • 无锡网站排名团队网站推广 英文
  • 南京建设项目环评公示期网站html教程书
  • 中石化工建设宁波分公司网站2023年重启核酸
  • 宝安设计网站建设网站服务器管理维护
  • 天津哪家公司做公司网站常宁市城乡和住房建设网站
  • 电子商务类网站有哪些监利县建设局网站
  • 免费网站搭建平台wordpress 笔记插件下载
  • 成都建设网站 scgckjwordpress id3
  • 网站如何做分享开县做网站
  • 苏州微网站开发天眼企业查询系统
  • 昌吉建设局网站常用的博客建站程序
  • 网页建设与网站设计临清网站制作
  • 自己做网站如何盈利2023新闻摘抄10条
  • 网站开发团队组成东莞市建设小学网站
  • 响应式自适应网站雄安智能网站建设电话
  • 呼市做网站公司wordpress 下载中心插件
  • 网页设计小白做网站3小时网站建设平台
  • 在线做原型的网站手机网站特效
  • 培训机构网站如何建设wdcp网站迁移