基础

差值语法

  <div id="root">
<h1>插值语法@萌狼蓝天 {{Date.now()}}</h1>
<h1>Meng Lang Lan Tian,Can you change it? >> {{number}}</h1>
<h2>{{message.toUpperCase()}}</h2>
<p>
1.创建Vue实例,传入配置对象
<br/>
2.容器中的Vue代码称为【Vue模板】
<br/>
3.容器中的代码依旧符合hmtl规范
<hr>
<div style="width: 100%;color:white;background-color: rgb(255, 193, 193);padding:2px 0 2px 2em;">
注意区分表达式和代码
</div>
</p>
</div>
<script>
Vue.config.productionTip=false//隐藏控制台提示
const vm = new Vue({
el:'#root',//绑定元素 el:element 元素 | 用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符。
data:{
number:'0',
message:"do you know i'am big or small ?"
} })//创建Vue实例
</script>

模板语法

  <div id="app">
<!-- 插值语法 -->
<h1>Easy?{{is}}</h1>
<!-- 指令语法 | 功能:解析标签(标签属性、标签体内容、绑定事件……) -->
<a v-bind:href="url" target="_blank">点我跳转到博客</a>
<br>
<a :href="url" target="_blank">点我跳转到博客</a>
<hr>
<h1>Easy?{{school.is}}</h1>
<a :href="school.url" target="_blank">点我跳转到博客</a>
</div>
<script>
new Vue({
el:"#app",
data:{
is:"Right",
url:"https://cnblogs.com/mllt",
school:{
is:"Wrong",
url:"https://mllt.cc"
}
}
})
</script>

数据绑定

<div id="app">
单向数据绑定(v-bind):<input type="text" v-bind:value="name"><br/>
双向数据绑定(v-moudle):<input type="text" v-moudel:value="blog"><br/>
双向数据绑定(v-moudle):<input type="text" v-moudel:value="blog">
<!-- v-moudel只能用于表单类元素 -->
</div>
<script>
Vue.config.productionTip = false
new Vue({
el:"#app",
data:{
name:"萌狼蓝天",
blog:"htts://cnblog.com/mllt",
} })
</script>

el与data的两种写法

el与data写法1

Vue.config.productionTip=false//隐藏控制台提示
const vm = new Vue({
el:'#root',//绑定元素 el:element 元素(唯一根元素) | 用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符。
data:{
number:'0',
message:"do you know i'am big or small ?"
}
})//创建Vue实例

el写法2:挂载

        Vue.config.productionTip=false//隐藏控制台提示
const vm = new Vue({
data:{
number:'0',
message:"do you know i'am big or small ?"
}
})//创建Vue实例
console.log(vm) //第二种写法
vm.$mount('#root')
//mount:挂载 //setTimeout(()=>{
// vm.$mount('#root')
//},3000) //3秒延迟

data写法2:函数式写法

  Vue.config.productionTip=false//隐藏控制台提示
const vm = new Vue({
//函数式写法
data:function(){
//必须要有return
return{
number:'0',
message:"do you know i'am big or small ?"
}
}
})//创建Vue实例
console.log(vm)
vm.$mount('#root')

下面是简写

        Vue.config.productionTip=false//隐藏控制台提示
const vm = new Vue({
//函数式写法 组件必须用函数式
// data:function(){
// console.log('@@@',this)//this:Vue的实例对象
// //必须要有return
// return{
// number:'0',
// message:"do you know i'am big or small ?"
// }
// } //函数式写法 简写
data(){
console.log('@@@',this)//this:Vue的实例对象
//必须要有return
return{
number:'0',
message:"do you know i'am big or small ?"
}
}
//原则:由Vue管理的函数 禁止使用“=>”函数写法
})//创建Vue实例
console.log(vm)
vm.$mount('#root')

绑定样式

  1. class样式

    写法:class="xxx" xxx可以是字符串、对象、数组。

    字符串写法适用于:类名不确定,要动态获取。

    对象写法适用于:要绑定多个样式,个数不确定,名字也不确定。

    数组写法适用于:要绑定多个样式,个数确定,名字也确定,但不确定用不用。

  2. style样式

    :style="{fontSize: xxx}" 其中xxx是动态值。

    :style="[a,b]"其中a、b是样式对象。

绑定class样式

 .basic{
border: 1px solid red;
}
.round{
border-radius:5px;
}
.text-center{
text-align: center;
}
.text-indent{
text-indent: 2em;
}
 <div id="root" >
<!-- 绑定class样式, 字符串写法 适用于 样式的类名不确定,需要动态指定 -->
<div class="basic" :class="newClass">
Just play
</div>
<button @click='changeMood'>change</button>
<button @click='changeMood2'>change2</button>
<br>
<hr>
<br>
<!-- 绑定class样式,数组写法,适用于 要绑定的样式个数不确定,名字也不确定 -->
<div class="basic" :class="classArr">
Just play
</div>
<br>
<hr>
<br>
<!-- 绑定class样式,对象写法,适用于 要绑定的样式个数确定,名字也确定,但是要动态决定是否使用这些样式 -->
<div class="basic" :class="classObj">
Just play
</div>
</div>
 Vue.config.productionTip=false//隐藏控制台提示
const vm = new Vue({
el:'#root',
data(){
return{
newClass:'round',
classArr:['round','text-center','text-indent'],
classObj:{
round:true
}
}
},
methods:{
changeMood(){
this.newClass='text-center round'
},
changeMood2(){
const arr = ['round','text-indent','text-center']
const index = Math.floor(Math.random()*3)
this.newClass=arr[index]
}, }
})
vm.$mount('#root')

绑定style样式

 .basic{
border: 1px solid red;
}
<div id="root" >
<div class="basic" :style="{fontSize:fsize+'px'}">
Just play
</div>
<br><br>
<!-- 绑定style样式,对象写法 -->
<div class="basic" :style="styleObj">
Just play
</div>
<br>
<br>
<div class="basic" :style="[styleObj1,styleObj2]">
Just play
</div>
<br>
<br>
<!-- 绑定style样式,数组写法 -->
<div class="basic" :style="styleArr">
Just play
</div>
</div>
 Vue.config.productionTip=false//隐藏控制台提示
const vm = new Vue({
el:'#root',
data(){
return{
fsize:40,
styleObj:{
fontSize:'40px',
},
styleObj1:{
color:'green',
fontSize:'20px',
},
styleObj2:{
background:'yellow',
},
styleArr:[
{
color:'green',
fontSize:'20px',
},
{
background:'yellow',
}
]
}
},
methods:{ }
})
vm.$mount('#root')

条件渲染

  1. v-if

    • 写法:

      (1).v-if="表达式”

      (2).v-else-if="表达式"

      (3).v-else="表达式”
    • 适用于:切换频率较低的场景。
    • 特点:不展示的DOM元素直接被移除。
    • 注意: v-if可以和:v-else-ifv-else一起使用, 但要求结构不能被“打断”。
  2. v-show

    • 写法: v-show=" 表达式"
    • 适用于:切换频率较高的场景。
    • 特点:不展示的DOM元素未被移除,仅仅是使用样式隐藏掉
  3. 备注

    使用v-if的时,元素可能无法获取到,而使用v-show 定可以获取到。

<div id="root">
<!-- 使用v-show做条件渲染 -->
<h2 v-show="wa">Oh Just Play1</h2>
<h2 v-show="1===1">Oh Just Play2</h2>
<!-- 使用v-if做条件渲染 -->
<h2 v-if="wa">Oh Just Play4</h2>
<h2 v-if="1===1">Oh Just Play3</h2> <hr>
<h2>当前值为:{{n}}</h2>
<button @click="n++">n++</button>
<div v-show="n===1">v-Show 1</div>
<div v-if="n===2">v-if 2</div>
<div v-else-if="n===1">v-else-if 1</div>
<div v-else>v-else</div>
<!-- v-if 和 v-else 和 v-else-if 在使用时,要紧紧连在一起,不允许被打断,不然不形成整体 -->
<hr>
<!-- template只能和v-if使用,不能和v-show使用 -->
<template v-if="n===2">
<h2>路人甲</h2>
<h2>路人2</h2>
<h2>路人3</h2>
</template>
</div>
Vue.config.productionTip=false//隐藏控制台提示
const vm = new Vue({
el:'#root',
data(){
return{
wa:false,
n:0,
}
}
})
vm.$mount('#root')

【Vue】vue基础学习笔记的更多相关文章

  1. 两万字Vue.js基础学习笔记

    Vue.js学习笔记 目录 Vue.js学习笔记 ES6语法 1.不一样的变量声明:const和let 2.模板字符串 3.箭头函数(Arrow Functions) 4. 函数的参数默认值 5.Sp ...

  2. 两万字Vue.js基础学习笔记(二)

    Vue.js学习笔记(二) 4.模块化开发 ES6模块化的导入和导出 我们使用export指令导出了模块对外提供的接口,下面我们就可以通过import命令来加载对应的这个模块了 首先,我们需要在HTM ...

  3. 最新 Vue 源码学习笔记

    最新 Vue 源码学习笔记 v2.x.x & v3.x.x 框架架构 核心算法 设计模式 编码风格 项目结构 为什么出现 解决了什么问题 有哪些应用场景 v2.x.x & v3.x.x ...

  4. 【C#编程基础学习笔记】4---Convert类型转换

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...

  5. 【C#编程基础学习笔记】6---变量的命名

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...

  6. 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)

    技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...

  7. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  8. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  9. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  10. Java基础学习笔记(一)

    Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...

随机推荐

  1. 九问 GBase | 如何看待“科技制裁”?如何助力中国数据库国产化落地?

    导读: Oracle.SAP.Apple.Google.Github等国际科技巨头纷纷宣布停止在俄罗斯业务,英特尔.AMD.戴尔等科技企业也被曝已中断向俄供货.当全面科技制裁来临,俄罗斯将如何应对此次 ...

  2. 11-react使用props.children 处理父子组件之间的传值

    // props.children 组件传值 import { Component } from "react" import reactDom from "react- ...

  3. vue2基于 vue-cropper插件对图片裁剪

    <template> <div id="app"> <div class="model" v-show="model&q ...

  4. 2024-10-13:用go语言,给定一个二进制数组 nums,长度为 n, 目标是让 Alice 通过最少的行动次数从 nums 中拾取 k 个1。 Alice可以选择任何索引 aliceIndex

    2024-10-13:用go语言,给定一个二进制数组 nums,长度为 n, 目标是让 Alice 通过最少的行动次数从 nums 中拾取 k 个1. Alice可以选择任何索引 aliceIndex ...

  5. Oracle中查看隐含参数的sql

    select a.ksppinm "Parameter", a.ksppdesc "Description", b.ksppstvl "Session ...

  6. 蜘点云原生之 KubeSphere 落地实践过程

    作者:池晓东,蜘点商业网络服务有限公司技术总监,从事软件开发设计 10 多年,喜欢研究各类新技术,分享技术. 来源:本文由 11 月 25 日广州站 meetup 中讲师池晓东整理,整理于该活动中池老 ...

  7. 为什么会有unknown模块

    当一个模块在free后,他的线程仍然在运行时,会导致GetModuleName失败,返回unknown

  8. 让性能提升56%的Vue3.5响应式重构之“版本计数”

    前言 Vue3.5响应式重构主要分为两部分:双向链表和版本计数.在上一篇文章中我们讲了 双向链表 ,这篇文章我们接着来讲版本计数. 欧阳年底也要毕业了,加入欧阳的面试交流群(分享内推信息).高质量vu ...

  9. REST API 已经 25 岁了:它是如何形成的,将来可能会怎样?

    原文:https://journal.hexmos.com/rest-turns-25/ 原题:REST APIs Turn 25: How They Came To Be and What Coul ...

  10. 低功耗4G模组HTTP网络协议应用

    ​ 大家好,今天我们来学习合宙Air780E模组LuatOS开发4G通信中HTTP网络协议的应用,实现模组和服务器之间数据的传输. 一.HTTP概述 1.1 简介 HTTP是HyperTextTran ...