Vue学习笔记|Vue基础02

简介: Vue学习笔记|Vue基础02

Vue模板语法

上节学过:容器里的代码被称为Vue模板,Vue模板有自己的一些语法规则。

Vue模板语法有两大类:

插值语法

  • 功能:用于解析标签体内容
  • 写法:{{xxx}}xxx是js表达式,且可以直接读取到Vue实例对象中的data对象中的所有属性。
<!-- 准备好一个容器-->
<div id="root">
  <h1>插值语法</h1>
  <h3>你好,{{name}}</h3>
</div>
new Vue({
  el:'#root',
  data:{
    name:'jack',
    }
})

指令语法

  • 功能:用于解析标签(包括:标签属性、标签体内容、绑定事件…)
  • 举例:v-bind:href="xxx" 可简写为 :href="xxx"xxx同样要写js表达式,且可以直接读取到Vue实例对象中的data对象中的所有属性。
  • 备注:Vue中有很多的指令,且形式都是:v-????,此处的简写我们只是拿v-bind举个例子。
<!-- 准备好一个容器-->
<div id="root">
<h1>指令语法</h1>
  <a v-bind:href="school.url.toUpperCase()">点我去{{school.name}}学习1</a>
  <a :href="school.url">点我去{{school.name}}学习2</a>
</div>
new Vue({
  el:'#root',
  data:{
    school:{
      name:'xaut',
      url:'https://www.xaut.edu.cn/',
    }
  }
})

tip:href是Hypertext Reference的缩写,意思是超文本引用。读音 /hīːˈref(ə)/

数据绑定

Vue中有2种数据绑定的方式:

  • 单向绑定:v-bind:value,数据只能从data流向页面
  • v-bind:value 可以简写为 :value,省略v-bind
  • 双向绑定:v-model:value,数据不仅能从data流向页面,还可以从页面流向data
  • v-model:value 可以简写为 v-model,省略:value,,因为v-model默认收集的就是value值。
  • 双向绑定一般应用在表单类元素上(如:inputselect等)
<div id="root">
    <!-- 普通写法 -->
  <!-- 单向数据绑定:<input type="text" v-bind:value="name"><br/>
     双向数据绑定:<input type="text" v-model:value="name"><br/> -->
  <!-- 简写 -->
    单向数据绑定:<input type="text" :value="name"><br/>
  双向数据绑定:<input type="text" v-model="name"><br/>
    <!-- 如下代码是错误的,因为v-model只能应用在输入类元素上 -->
  <!-- <h2 v-model:x="name">你好啊</h2> -->
</div>
new Vue({
  el:'#root',
  data:{
    name:'wyatt'
    }
})

双向数据绑定的输入框中修改值为wyatt.Wang,可以看到data中相应数据发生改变。

该数据的改变也引起单向数据绑定输入框中值改变。

相对的,在单向数据绑定的输入框中修改值为wyatt.Wangdata中相应数据不会发生改变,双向数据绑定的输入框中值也肯定不会发生改变。

el的两种写法

  • new Vue时配置el属性
  • 通过v.$$mount('#root')指定el的值。

tip: mount有挂载的意思

const v = new Vue({
  //el:'#root', //第一种写法
  data:{
    name:'wyatt'
    }
})
console.log(v)
v.$$mount('#root')  //第二种写法

data的两种写法

  • 对象式
  • 函数式

如何选择:目前哪种写法都可以,以后学习到组件时,data必须使用函数式,否则会报错。

由Vue管理的函数(例如Vue实例的data()函数),一定不要写箭头函数,一旦写了箭头函数,this就不再是Vue实例了。

tip:什么是箭头函数

new Vue({
  el:'#root',
  //data的第一种写法:对象式
  /* data:{
      name:'wyatt'
      } */
  //data的第二种写法:函数式
  data(){
    console.log('@@@',this) //此处的this是Vue实例对象
    return{
      name:'wyatt'
      }
    }
})

目录
相关文章
|
5天前
|
JavaScript
Vue基础知识总结 4:vue组件化开发
Vue基础知识总结 4:vue组件化开发
|
5天前
|
存储 JavaScript
Vue 状态管理工具vuex
Vue 状态管理工具vuex
|
11天前
|
缓存 JavaScript UED
Vue 中实现组件的懒加载
【10月更文挑战第23天】组件的懒加载是 Vue 应用中提高性能的重要手段之一。通过合理运用动态导入、路由配置等方式,可以实现组件的按需加载,减少资源浪费,提高应用的响应速度和用户体验。在实际应用中,需要根据具体情况选择合适的懒加载方式,并结合性能优化的其他措施,以打造更高效、更优质的 Vue 应用。
|
10天前
|
JavaScript
如何在 Vue 中使用具名插槽
【10月更文挑战第25天】通过使用具名插槽,你可以更好地组织和定制组件的模板结构,使组件更具灵活性和可复用性。同时,具名插槽也有助于提高代码的可读性和可维护性。
15 2
|
10天前
|
JavaScript
Vue 中的插槽
【10月更文挑战第25天】插槽的使用可以大大提高组件的复用性和灵活性,使你能够根据具体需求在组件中插入不同的内容,同时保持组件的结构和样式的一致性。
12 2
|
10天前
|
前端开发 JavaScript 容器
在 vite+vue 中使用@originjs/vite-plugin-federation 模块联邦
【10月更文挑战第25天】模块联邦是一种强大的技术,它允许将不同的微前端模块组合在一起,形成一个统一的应用。在 vite+vue 项目中,使用@originjs/vite-plugin-federation 模块联邦可以实现高效的模块共享和组合。通过本文的介绍,相信你已经了解了如何在 vite+vue 项目中使用@originjs/vite-plugin-federation 模块联邦,包括安装、配置和使用等方面。在实际开发中,你可以根据自己的需求和项目的特点,灵活地使用模块联邦,提高项目的可维护性和扩展性。
|
11天前
|
JavaScript 前端开发 UED
vue 提高 tree shaking 的效果
【10月更文挑战第23天】提高 Vue 中 Tree shaking 的效果需要综合考虑多个因素,包括模块的导出和引用方式、打包工具配置、代码结构等。通过不断地优化和调整,可以最大限度地发挥 Tree shaking 的优势,为 Vue 项目带来更好的性能和用户体验。
|
11天前
|
缓存 JavaScript UED
Vue 中异步加载模块的方式
【10月更文挑战第23天】这些异步加载模块的方式各有特点和适用场景,可以根据项目的需求和架构选择合适的方法来实现模块的异步加载,以提高应用的性能和用户体验
|
11天前
|
JavaScript 测试技术 UED
解决 Vue 项目中 Tree shaking 无法去除某些模块
【10月更文挑战第23天】解决 Vue 项目中 Tree shaking 无法去除某些模块的问题需要综合考虑多种因素,通过仔细分析、排查和优化,逐步提高 Tree shaking 的效果,为项目带来更好的性能和用户体验。同时,持续关注和学习相关技术的发展,不断探索新的解决方案,以适应不断变化的项目需求。
|
12天前
|
JavaScript 搜索推荐 前端开发
Vue SSR 预渲染的广泛应用场景及其优势
【10月更文挑战第23天】Vue SSR 预渲染技术在众多领域都有着广泛的应用价值,可以显著提升网站的性能、用户体验和搜索引擎优化效果。随着技术的不断发展和完善,其应用场景还将不断拓展和深化
28 2
下一篇
无影云桌面