【Vue】初学笔记

vue 声明式渲染

Vue 理解为聚合了 JavaScript+HTML+CSS 的代码组织形式,将属于同一组件的 JavaScript+HTML+CSS 封装在 .vue 文件中

声明式渲染核心思想是通过声明最终的显示结果,不需要显式地定义每一步该如何操作。 JHS 则是与之相对的命令式变成,开发者需要逐步指示操作系统如何实现渲染。

在实操学习尝试的下述例子中,或许能有更直观的理解

1. JS+HTML

这是我在初步接触学习vue时写的一段简单的页面点击计数器的实现,用JS+HTML套用到vue上的思想去编写的,当然这段代码作为App.vue 是无法运行的,涉及到Vue自身的生命周期管理、DOM的问题,
let myButton = document.querySelector('button') 这一行使用了选择器去绑定时间处理器,但是在 Vue 的setup 阶段,DOM元素还没有被渲染,Vue 也就是此时通常不直接操作DOM。

<script setup>
import { ref , reactive} from 'vue'

// 组件逻辑
// 此处声明一些响应式状态
  const counter = reactive({count: 0})
  let myButton = document.querySelector('button')
  myButton.onclick = function(){
    counter.value++;
  }
</script>

<template>
  <h1>Make me dynamic!</h1>
  <button>
    {{counter}}
  </button>
</template>
2. Vue

vue中的实现方式,Vue 会帮助我们自动管理 DOM 渲染的工作,我们只需要进行事件的绑定和修改
<button @click="increment"> 直接将click 与 increment 函数绑定, 相当于 “点击”==> “increment”,事件的监听绑定等底层操作由Vue自动管理。

<script setup>
import { ref , reactive} from 'vue'

// 组件逻辑
// 此处声明一些响应式状态
const counter = ref(0)
const increment = () => {
  counter.value++;
}

</script>

<template>
  <h1>Make me dynamic!</h1>
  <button @click="increment">
    {{counter}}
  </button>
</template>

下面稍微记录一下常用的绑定、监听指令

属性绑定

v-bind
v-bind是vue中的一个指令,动态绑定HTML属性
通常的html中元素属性是静态的

<img src="logo.png" alt="logo">

但是若希望 src 的属性值是动态的,随着JS的值而变化,可以用该指令

<template>
  <img v-bind:src="logoUrl" alt="Logo">  <!--把src属性绑定到 logoUrl 变量-->
</template>

<script setup>
const logoUrl = 'logo.png';
/*...*/
</script>

这样当JS中的 logoUrl 因某步操作修改,html中的属性也同步修改
几乎所有的HTML属性、DOM属性和自定义属性都可以绑定

事件监听

v-on
监听DOM事件

<button v-on:click="increment">{{ count }}</button>
<button @click="increment">{{ count }}</button>

https://cn.vuejs.org/guide/essentials/event-handling

表单绑定

同时使用 v-bind v-on 来在表单的输入元素上创建双向绑定

function onInput(e) {
  // v-on 处理函数会接收原生 DOM 事件
  // 作为其参数。
  text.value = e.target.value
}
<input :value="text" @input="onInput">

实现的效果是 text 与 input 的输入值关联起来,输入框输入后同步得到text值

v-model 简化

<input v-model:value="text">

列表渲染

v-for

<ul>
  <li v-for="todo in todos" :key="todo.id">
    {{ todo.text }}
  </li>
</ul>

遍历 todos 里的元素,按列表格式输出出来,todo 是一个局部变量,表示当前正在迭代的数组元素。 key 属性使得 Vue能够精确地定位到每一个<li>

### 回答1: 尚硅谷的Vue2笔记学习Vue技术的好帮手。这份笔记详细地介绍了Vue的基本概念和使用方法,包括Vue的属性、指令、事件、计算属性、过滤器、组件等等。通过阅读这份笔记,我们可以了解Vue的整个生命周期,并且学习如何在Vue中绑定数据、响应事件、使用组件化等等。另外,笔记中也提到了Vue的MVVM模式、路由、状态管理、Ajax等进阶使用方法,以及Vue的一些注意点和优化技巧,这些非常实用且有助于深入学习和应用Vue技术。 总体来说,尚硅谷的Vue2笔记内容丰富、清晰易懂,适合初学者和中级开发者使用,是学习Vue技术的一份不错资料。需要注意的是,笔记中的代码及部分内容可能存在过时和不准确的情况,需要和Vue官方文档及其他权威资料进行比较和验证。 ### 回答2: 尚硅谷的Vue2笔记是一份非常全面和深入的Vue学习资料,它涵盖了Vue框架的基本概念和重要特性,包括Vue的组件化开发、指令、路由、Vuex状态管理、axios网络请求等。该笔记不仅注重理论知识的讲解,而且注重实战应用。它提供了大量的示例代码和练习项目,帮助学习者理解和掌握Vue的核心概念和技术。 在Vue2笔记中,作者从Vue的基本概念和MVVM架构模式开始讲解,然后逐步深入介绍了Vue的各种特性和用法,如组件、生命周期、计算属性、watch、事件处理、槽位、指令等等。特别是在组件化开发方面,作者详细介绍了组件之间的通信方式、props和$emit的使用、slot插槽的应用等等,这些都是Vue组件化开发中非常重要的概念。 除了组件化开发之外,Vue2笔记还详细介绍了Vue的路由、状态管理和网络请求等其他关键特性。在路由方面,作者讲解了Vue-Router的基本使用和路由守卫的应用,让学习者能够掌握Vue应用的页面导航和权限控制。在状态管理方面,作者讲解了Vuex的设计思想和使用方法,使学习者能够在复杂的应用中更好地管理和共享状态。在网络请求方面,作者介绍了axios库的使用和封装方法,帮助学习者更好地理解Vue应用中的数据请求和展示。 总的来说,尚硅谷Vue2笔记对于学习Vue框架的人来说是一份非常优秀的教材。它详细介绍了Vue的各个方面,并提供了丰富的练习项目,帮助学习者更好地掌握Vue的核心技术和应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值