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'
      }
    }
})

目录
相关文章
|
28天前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
29天前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。
|
3天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
1月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
36 1
vue学习第一章
|
1月前
|
JavaScript 前端开发 索引
vue学习第三章
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中的v-bind指令,包括基本使用、动态绑定class及style等,希望能为你的前端学习之路提供帮助。持续关注,更多精彩内容即将呈现!🎉🎉🎉
27 1
vue学习第三章
|
1月前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
35 1
vue学习第四章
|
28天前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
24 1
|
28天前
|
JavaScript 前端开发 API
介绍一下Vue中的响应式原理
介绍一下Vue中的响应式原理
30 1
|
28天前
|
JavaScript 前端开发 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
28天前
|
存储 JavaScript 前端开发
介绍一下Vue的核心功能
介绍一下Vue的核心功能