Vue第二篇:概念深度剖析

这篇具有很好参考价值的文章主要介绍了Vue第二篇:概念深度剖析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考链接:https://www.bilibili.com/video/BV1oj411D7jk/?spm_id_from=333.788.recommend_more_video.0&vd_source=3969f30b089463e19db0cc5e8fe4583a

1、响应式数据与插值表达式理解
前端最基本的操作是:把数据呈现到页面上,把更新的数据再更新到页面上。
原生js的赋值操作如下:
<div id="box"></div>
<script>
let value = '这是内容'
document.getElementById('box').textContent = value
value = '新内容'
document.getElementById('box').textContent = value
</script>
以上DOM操作过于繁琐,Vue通过内置代码的方式将DOM功能进行了简化。
所谓的响应式数据指的是:Vue内部对数据做操作,它就会自动地更新到视图中,这样就可以省去大量的DOM操作。
上面的内容简化后为:
<div id="box">{{ title }}</div>
<script>
    const vm = new Vue({
        el: '#box',
        data(){
            return {
                title: '这是标题内容'
            }
        }
    })
</script>
后续针对title的修改会直接体现在页面上。

2、计算属性computed
methods中的函数,假如每次计算时依赖的值不变,则结果也不会发生变化,此时就不要重复计算,这样就存在优化空间。于是就产生了computed。
计算属性在定义时时一个函数,但是在使用时不能加括号,因为它是一个属性。

3、侦听器watch
在插值表达式和计算属性中,改数据的时候就会自动触发一个修改页面内容的操作。
监听器就是监听某个数据是否有变化,我们希望在数据变化的时候不仅仅是更新页面,还希望做点别的。
侦听器的意义:在插值表达式和计算属性时修改一个响应数据,它会做页面的更新,这是Vue内部自动实现的。如果也希望在过程中去参与一下,就可以通过监听器做一个处理。这是Vue在内部给我们开放了一个可以参与响应式的一个过程。
watch:{
    title(newValue, oldValue){
        console.log(newValue, oldValue)
    }
}

4、指令
(1)内容指令
<p v-text="title">123</p>
<p v-html="htmlContent">123</p>
(2)渲染指令
<p v-for="item in 5">这是内容</p>

当在组件中使用v-for时,key是必须的。作用是为了高效地更新虚拟DOM。


<p v-if="true">标签内容</p>
<p v-show="true">标签内容</p>
(3)属性指令
<p v-bind:title="title">这是内容</p>
等价于<p :title="title">这是内容</p>
(4)事件指令
<button v-on:click="output">按钮</button>
等价于<button @click="output">按钮</button>
(5)表单双向绑定指令
<input type="text" v-model="inputValue">

5、Vue CLI说明
它时Vue基于Webpack打造的脚手架工具,脚手架内置了很多模板和工具,可以让我们快速进行Vue的项目创建。
查看vue版本:vue --version
创建vue项目:vue create <project-name>

6、脚手架的项目结构
(1)package.json
在scripts中有serve/build/lint的命令。

serve命令:可以帮我们打开本地的静态资源服务器,帮我们把项目直接跑起来,方便我们在开发中去使用。启动方式为:npm run serve,然后通过localhost:8080访问页面。

build命令:进行代码打包,在开发时项目中有很多文件,但是最终呈现给用户的时候不会存在很多零碎的文件。打包命令:npm run build。打包完成后会出现dist目录,其中都是压缩过的html的代码,后面项目上线时也需要dist文件即可。此时启动打包后的服务的方法:先运行npm install serve -g,然后在项目目录下运行serve dist,最后通过localhost:3000可以访问页面
(2)node_modules:
包含项目安装的所有的包,这个代码都是一些第三方的工具,不需要改动。
(3)public
这些是不参与编译的资源
(4)src
里面是需要参与编译的资源。
比如assets中的logo.png需要编译成base64格式进行展示。
App.vue:根组件。
main.js:Vue应用的一个入口文件。

7、组件化开发
vue中包含结构template、逻辑script、样式style 三个部分。
每个vue都是单独的实例,最终会在编译环节进行一下结构生成,并替换掉之前写的自定义的HTML标签。
el选项只能在根组件中使用,而内部的子组件是不需要el选项的,因为这取决于标签的位置,而不是挂载在特定的标签上。

props父传子通信:一个或多个属性的配置
props:{
    msg: String,
    count: {
        type: [String, Number],
        default: 100,
        required: true
    }
}

父组件绑定数据的方法
<HelloWorld 
    msg="Welcome"
    :count="parentCount"
/>

export default{
    name: 'App',
    components:{
        HelloWorld
    },
    data(){
        return{
            parentCount: 1000
        }
    }
}

插槽:父组件应用子组件的内容中也可以写些信息,这样设置时比通过prop的方式传值更简单,同时可以传递更加复杂的结构比如HTML页面。即组件有一部分区域是开放的,这样自己可以随便定一些东西进去,而不再是完全由子组件内部做实现,使用起来更自由一些。

8、单页面应用程序
常规网站都是由多个页面组成的,每个页面去构建一些页面相关的一个功能内容。
而Vue只有一个html文件,也意味着它其实只有一个页面。
如何在一个页面中实现多页面应用的效果,其实就是检测页面URL的变化,当URL变化后在页面中渲染一些内容就可以了,这就是单页面应用程序。文章来源地址https://www.toymoban.com/news/detail-584965.html

到了这里,关于Vue第二篇:概念深度剖析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微信小程序丨第二篇】小程序的基本目录结构与文件作用剖析

    小程序框架的⽬标是通过尽可能简单、⾼效的⽅式让开发者可以在微信中开发具有原⽣APP体验的服务。 ⼩程序框架提供了⾃⼰的视图层描述语⾔ WXML 和 WXSS ,以及 JavaScript ,并 在视图层与逻辑层间提供了数据传输和事件系统 ,让开发者能够专注于数据与逻辑。 传统web 微信

    2024年02月09日
    浏览(29)
  • 第二篇:强化学习中的7个基础概念

    这是强化学习第二篇:强化学习7个基础概念 在强化学习中,智能体需要在不断尝试和错误的过程中学习,通过观察环境的反馈(奖励或惩罚)来调整自己的行为,从而逐步改进策略。 强化学习常见的概念,结合迷宫游戏给大家阐述一下。 第一,红点表示智能体,它在迷宫这

    2024年02月10日
    浏览(25)
  • 图详解第二篇:图的遍历(广度优先+深度优先)

    所谓图的遍历: 即从图中的任一顶点出发,对图中的所有顶点访问一次且只访问一次。 给定一个图G和其中任意一个顶点v0,从v0出发,沿着图中各边访问图中的所有顶点,且每个顶点仅被遍历一次。 ps: 我们后面讲解这些图相关的算法默认都针对邻接矩阵结构的图去讲解,

    2024年02月08日
    浏览(47)
  • 进程组,会话的基础概念,以及进程组,会话,控制终端,前台后台之间的联系(系列文章第二篇)

    这个系列的文章有四篇,其目的是为了搞清楚 : 进程,shell,shell进程,终端,控制终端,前台进程,后台进程,控制进程,前台进程组,后台进程组,会话,守护进程,init进程,用户进程,系统进程 它们之间的联系与区别 系列文章第一篇传送门:全面理解shell进程、终端

    2024年02月04日
    浏览(70)
  • 深入理解JVM虚拟机第二篇:虚拟机概念和JVM整体架构以及字节码的执行路线

      😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月09日
    浏览(38)
  • JavaScript - 判断当前时间是否在指定区间内,例如:9:00~12:00(检查当前时间是否处于规定的两个时间段范围内),适用于 vue.js / uniapp / 微信小程序等前端项目

    例如,您想知道当前时间是否处于 9:00 ~ 12:00 时间区间内,然后根据这个判断进而实现业务逻辑。 如下示例所示, 本文提供一个函数,您只需要传入 2 个时间区间,便可得出当前时间是否在该时间区间范围内: 您可以一键复制,直接粘贴到您的项目中。 您只需要传入开始时

    2024年02月16日
    浏览(50)
  • JavaSE面试深度剖析 第二讲

    目录 JavaSE面试深度剖析 第二讲 JavaSE 语法     本文章向大家介绍JavaSE面试深度剖析 第二讲,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。   Java 有没有 goto 语句? goto 是 Java 中的保留字,在目前版

    2024年02月05日
    浏览(32)
  • Vue.js的核心概念

    Vue.js 是一个流行的 JavaScript 框架,用于构建交互式的 web 界面。 它的核心概念包括: 1. 响应式系统 :Vue 使用响应式系统来确保 UI 与 underlying data 保持同步。当数据变化时,视图自动更新。 2. 组件系统 :Vue 应用由可复用的组件构成。每个组件都有自己的视图、业务逻辑和样

    2024年01月18日
    浏览(39)
  • 前端框架学习 Vue (1) 概念,常用指令

            Vue是一个用于 构建用户界面 的 渐进式 框架         1.构建用户界面 :基于数据动态渲染页面                       2.渐进式: 循序渐进的学习(学一点就能用一点)                  (1)Vue核心包开发                         场景:局部模块改造          

    2024年01月22日
    浏览(27)
  • vue前端开发自学,插槽练习第二次,name属性的使用

    vue前端开发自学,插槽练习第二次,name属性的使用!可以使用name属性,来自定义一个名字,这样,就可以在一个组件内同时出现多个插槽的内容了。在子组件内接收的时候,很简答,只需要在slot标签里面加上name=“mz”; 下面看代码。 这个内容是app.vue入口文件的内容源码。下面

    2024年02月02日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包