【前端Vue】Vue学习笔记之基础内容

这篇具有很好参考价值的文章主要介绍了【前端Vue】Vue学习笔记之基础内容。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Vue实例

Vue实例:通过new Vue()创建的Vue实例,它关联一个DOM元素并提供数据和组件的上下文。

var vm = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
})

什么是DOM?

文档对象模型 (DOM) 是 HTML 和 XML 文档的编程接口。它提供了对文档的结构化的表述,并定义了一种方式可以使从程序中对该结构进行访问,从而改变文档的结构,样式和内容。DOM 将文档解析为一个由节点和对象(包含属性和方法的对象)组成的结构集合。简言之,它会将 web 页面和脚本或程序语言连接起来。

二、模板语法

模板语法:在Vue中,我们使用模板来声明式的将数据渲染为DOM,常用的有{{}}插值,v-bind,v-if,v-for等。

<div id="app">
  {{ message }}
  <span v-bind:title="message">鼠标悬停显示</span>
  <span v-if="seen">现在你看到我了</span>
  <ol>
    <li v-for="todo in todos">{{ todo.text }}</li>
  </ol> 
</div>

三、计算属性

计算属性:计算属性用来从当前组件的 state 中派生出新的值,可以通过getter和setter实现数据的响应式。它的优点是高效缓存,在数据不变时会立即返回之前的计算结果。

var vm = new Vue({
  data: {
    message: 'Hello'
  },
  computed: {
    // 计算属性的 getter
    reversedMessage: function () {
      // `this` 指向 vm 实例
      return this.message.split('').reverse().join('')
    }
  }
})

四、监听器

监听器:通过watch选项,我们可以观察指定的数据源,一旦数据变化,就会执行监听器里所定义的function。它的用途比computed更加广泛,不仅可以转变数据,还可以触发异步操作

watch: {
  message: function (newVal, oldVal) { 
    // 这个函数将在 `message` 改变后调用
  }
}

五、组件

组件:组件是Vue最强大的功能之一,组件可以扩展HTML元素,封装可重用的代码。我们通过Vue.component()创建全局组件,Vue.component()创建局部组件。

// 全局组件定义
Vue.component('my-component', {
  template: '<div>{{ msg }}</div>',
  data: function () {
    return {
      msg: 'Hello World!'
    }
  }
})
// 局部组件定义
var Child = {
  template: '<div>{{ msg }}</div>',
  data: function () {
    return {
      msg: 'Hello World!'
    }
  } 
}
new Vue({
  // ...
  components: {
    'my-component': Child
  }
})

六、数据双向绑定

数据双向绑定:Vue实现了数据与视图的双向绑定,当我们在js里面改变数据的时候,视图会自动更新,反之亦然。这是Vue相比其他MVVM框架的一大亮点。
在Vue中,数据双向绑定是通过数据劫持结合发布者-订阅者模式来实现的。
这里有一个简单的例子:

<div id="app">
  <input v-model="message">
  <p>{{message}}</p>
</div>
var vm = new Vue({
  el: '#app',
  data: {
    message: 'Hello!'
  }
})

代码说明

  1. 我们在input元素上使用v-model指令,这会把input和data.message联系起来。
  2. 用户输入什么,data.message 的值就变成什么。
  3. 然后,渲染的

    也会更新并显示新的值,因为它绑定到同一个data.message 属性。

  4. 如果Vue实例中的代码稍后改变了data.message,那么input元素显示的值也会改变。
  5. 当我们修改Vue实例中的数据时,DOM会更新。这是数据影响视图。
    当我们修改DOM时(比如输入),数据也会更新。这是视图影响数据。

七、生命周期钩子

生命周期钩子:每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、挂载实例到 DOM、渲染数据等。在这个过程中,Vue会运行一些叫做生命周期钩子的函数,允许开发者添加自己的代码。

八、Slots(待补充)

Slots:通过Slot分发内容,我们可以在父组件中通过插槽向子组件传递内容。子组件可以设置默认内容,也可以设置具名插槽让父组件的内容分配到指定位置。

<navigation-link url="/profile">
  <!-- Add slot content here -->
  <span class="profile">Your Profile</span> 
</navigation-link>

<script>
Vue.component('navigation-link', {
  props: ['url'],
  template: `
    <a :href="url" class="nav-link">
      <slot></slot>
    </a>
  `
})
</script>

slots有一些典型用例:

  • 基础组件(Base Layout)
  • 插槽替换(Slot replacement)
  • 局部内容(Scoped slots)
    待补充

注意:本篇文章只提供一些简单例子,后续再详细展开。

如有错误,还请多多指教!
转载或者引用本文内容请注明来源及原作者:橘足轻重;文章来源地址https://www.toymoban.com/news/detail-422261.html

到了这里,关于【前端Vue】Vue学习笔记之基础内容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 前端技术Vue学习笔记--004

    写在组件中的样式会 全局生效 → 因此很容易造成多个组件之间的样式冲突问题。 全局样式 : 默认组件中的样式会作用到全局,任何一个组件中都会受到此样式的影响 局部样式 : 可以给组件加上 scoped 属性,可以 让样式只作用于当前组件 scoped原理: 给当前组件模版的所有元

    2024年02月12日
    浏览(35)
  • 前端技术Vue学习笔记--005

    作用:非父子组件之间,进行简易消息传递。 (复杂场景用----Vuex) 使用步骤: 创建一个 都能访问的事件总线 (空Vue实例)-----utils/EventBus.js A组件(接受方), 监听Bus的 $on事件 B组件(发送方), 触发Bus实例的事件 provideindect作用: 跨层级 共享数据 语法: 父组件 provi

    2024年02月12日
    浏览(38)
  • 【前端学习笔记2】javaScript基础

    是一种运行在客户端(服务器的编程语言) javacript分为行内JavaScript,内部JavaScript,外部JavaScript 内部JavaScript 直接写在html中body里面 alert(“hello,world”) 我们将script放在html文件的地步附近的原因是浏览器会按照代码在文件中的顺序加载html 如果先加载的JavaScript期望修改其

    2024年01月22日
    浏览(37)
  • 前端学习--vue2--2--vue指令基础

    写在前面: 前置内容 - vue配置 vue指令只的是带有v-前缀的特殊标签属性 插值表达式{{}}是一种vue模板语法。 利用表达式进行差值,渲染到页面。 表达式可以是被求值的代码,js会计算 不能用差值表达式的 不存在的数据 {{data里面不存在的字段 js {{if}} 标签属性 span id=“

    2024年02月14日
    浏览(40)
  • 从零开始的Django框架入门到实战教程(内含实战实例) - 01 创建项目与app、加入静态文件、模板语法介绍(学习笔记)

      Django是目前比较火爆的框架,之前有在知乎刷到,很多毕业生进入大厂实习后因为不会git和Django框架3天就被踢掉了,因为他们很难把自己的工作融入到整个组的工作中。因此,我尝试自学Django并整理出如下笔记。   在这部分,我将从Django的安装讲起,从创建项目到制

    2024年02月09日
    浏览(72)
  • Html + Jquery + Vue前端学习笔记

    输入框里的值变了,data里的查询参数也会跟着变,这就是vue的绑定 @keyup.enter.native 这个代表键盘的回车事件,一般用来做查询 clearable 代表可清空 看一下整体效果 some方法判断数组中是否包含某个值 div富文本显示,u3000代表空格 上移,下移,删除,添加 控制两个按钮切换变

    2024年02月12日
    浏览(40)
  • 前端学习笔记:JavaScript基础语法(ECMAScript)

    此博客参考b站:【黑马程序员前端JavaScript入门到精通全套视频教程,javascript核心进阶ES6语法、API、js高级等基础知识和实战教程】https://www.bilibili.com/video/BV1Y84y1L7Nn?p=76vd_source=06e5549bf018e111f4275c259292d0da 这份笔记适用于已经学过一门编程语言(最好是C语言)的同学,如果你没有

    2024年02月16日
    浏览(47)
  • Javaweb基础-前端工程化学习笔记

    变量与模版字符串 let 和var的差别: const和var的差异 1、新增const和let类似,只是const定义的变量不能修改 2、并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。 模板字符串(template string)是增强版的字符串,用反引号(`)标识 1、字符串中可以

    2024年02月20日
    浏览(61)
  • 前端技术学习第八讲:VUE基础语法---初识VUE

    Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时

    2023年04月27日
    浏览(48)
  • 前端学习笔记(14)-Vue3组件传参

    1.props(父组件传递给子组件) 1.1 实现 如果你没有使用 script setup,props 必须以 props 选项的方式声明,props 对象会作为 setup() 函数的第一个参数被传入: 在子组件中: 在父组件中: 一个组件可以有任意多的 props,默认情况下,所有 prop 都接受任意类型的值。 这种情况下,我

    2024年01月21日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包