一.声明式渲染
1.Vue中的Hello Word程序
1.1CDN引入vue.js
javascript
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
1.2准备容器
javascript
<div id='app'>
</div>
1.3创建应用
javascript
<script>
const{createApp}=Vue
createApp({
setup(props) {
const mes="Hello Word!"
return {
mes
}
}
}).mount('#id')
1.4渲染数据
javascript
<div id="id">
<h3>{{mes}}</h3>
</div>
2.setup函数
2.1介绍
setup函数vue3API的入口函数
- setup函数式vue3特有的选项,作为编写代码的起点
- 标签中用到的数据或函数,需要在setup中声明并返回
- 函数中this不是Vue实例,setup中是不会用到this的
2.2总结
setup函数的作用
答:是vue3代码的入口/七点、后续cue3逻辑代码都是在这里编写的
3.插值表达式
3.1作用
把表达式的结果展示在双标签中
3.2语法
{{表达式}},表达式:凡是有结果的操作/运算,常见的表达式有:
- 所有的字面量
- 对象.属性名
- 算数运算或三元运算
- 方法的调用语句
3.3代码实例
javascript
<div id="app">
<!-- 1.直接放变量 -->
<h1>{{mes}}</h1>
<!-- 2.对象属性 -->
<p>我叫{{obj.name}},今年{{obj.age}}岁了</p>
<!-- 3.三元表达式 -->
<p>{{obj.age>18?'成年':'未成年'}}</p>
<!-- 4函数的调用 -->
<p>fn的返回值是:{{fn()}}</p>
<!-- 5.算数运算 -->
<p>来年我{{obj.age+1}}岁了</p>
<!-- 6.方法的调用 -->
<p>{{mes}}中有{{mes.split(' ').length}}个单词</p>
</div>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
const { createApp } = Vue
createApp({
setup(props) {
//字符串
const mes = "Hello World!"
//对象
const obj = {
name: "小vue",
age: 9
}
//函数
function fn(){
return 100
}
//返回
return {
mes,
obj,
fn
}
}
}).mount('#app')
</script>
3.4总结
1.1什么是插值表达式?
答:{{表达式}},把表达式的结果展示在双标签中
1.2vue3的初始数据在哪声明?、
答:setup函数中定义并返回初始数据
二.数据响应式
1.啥么是数据响应式
简单的说:就是数据变了,试图跟着变
2.响应式函数reactive
2.1使用步骤
- 从vue中解构出来reactive函数
- 在setup函数中,使用reactive函数,传入一个普通对象,返回的是一个响应式对象
- 最后setup函数返回一个响应式对象,供模板使用
注意:reactive接受的参数是对象
2.2代码实例
javascript
<div id="id">
<p>我叫{{obj.name}},今年{{obj.age}}岁了</p>
</div>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
const{createApp,reactive}=Vue
createApp({
setup(props) {
const obj= reactive({
name:"小vue",
age:9
})
return {
obj
}
}
}).mount('#id')
</script>
2.3总结
1.reactive函数的作用是?
答:让一个对象具备响应式。
2.reactive函数能转换简单类型吗?
答:不能、reactive的参数只能是对象类型
3.响应式函数ref
3.1使用步骤
- 从vue中解构出ref函数
- 给ref传入指定类型的数据,得到一个响应式数据
注意:操作ref创建的数据,js中需要.value,标签中不.value
3.2代码实例
javascript
<div id="id">
<p>{{msg}}</p>
<p>我叫{{obj.name}},今年{{obj.age}}岁了</p>
<button @click="onClick">修改ref数据</button>
</div>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
const{createApp,ref}=Vue
createApp({
setup(props) {
//ref定义一个响应式字符串
const msg=ref("Hello Word!")
//ref定义一个响应式对象
const obj=ref({
name:"小Vue",
age:9
}
)
//点击事件
const onClick=()=>{
msg.value='你好,vue3'
obj.value.name='Vue3'
obj.value.age=10
}
return {
msg,
obj,
onClick
}
}
}).mount('#id')
</script>
3.3总结
ref函数的作用是?
答:1.把简单数据或复杂数据转化成响应式数据 2.注意:js中操作要.value,模板中可不用.value
4.reactive与ref的选择
如果数据是对象、并且字段的名称也确定,推荐使用reactive赋予数据响应式,其他的一律使用ref