parent
42b1ac7548
commit
3133f09bd2
11 changed files with 234 additions and 75 deletions
@ -0,0 +1,73 @@ |
||||
<template> |
||||
<h1>个人信息:</h1> |
||||
<h2 v-show="person.name">姓名:{{ person.name }}</h2> |
||||
<h2>年龄:{{ person.age }}</h2> |
||||
<h2 v-show="person.sex">性别:{{ person.sex }}</h2> |
||||
<h2>工作种类:{{ person.job.type }}</h2> |
||||
<h2>薪水:{{ person.job.salary }}</h2> |
||||
<h2>爱好:{{ person.hobby }}</h2> |
||||
<h2>c的值:{{ person.job.a.b.c }}</h2> |
||||
<button @click="changeInfo">修改信息</button> |
||||
<button @click="addSex">添加性别</button> |
||||
<button @click="deleteName">删除姓名</button> |
||||
</template> |
||||
|
||||
<script> |
||||
import {ref, reactive} from "vue"; |
||||
|
||||
export default { |
||||
name: 'App', |
||||
setup() { |
||||
// 数据 |
||||
// let name = ref('张三') |
||||
// let age = ref(19) |
||||
// let job = reactive({ |
||||
// type: '前端工程师', |
||||
// salary: '30K', |
||||
// a: { |
||||
// b:{ |
||||
// c: 666 |
||||
// } |
||||
// } |
||||
// }) |
||||
// let hobby = reactive(['抽烟','喝酒','烫头']) |
||||
let person = reactive({ |
||||
name: '张三', |
||||
age: 18, |
||||
job: { |
||||
type: '前端工程师', |
||||
salary: '30K', |
||||
a: { |
||||
b: { |
||||
c: 666 |
||||
} |
||||
} |
||||
}, |
||||
hobby: ['抽烟', '喝酒', '烫头'] |
||||
}) |
||||
|
||||
function changeInfo() { |
||||
person.name = '李四' |
||||
person.age = 88 |
||||
person.job.type = '后端工程师' |
||||
person.job.salary = '31K' |
||||
person.hobby[0] = '测试' |
||||
} |
||||
|
||||
function addSex() { |
||||
person.sex = '男' |
||||
} |
||||
|
||||
function deleteName() { |
||||
delete person.name |
||||
} |
||||
|
||||
return { |
||||
person, |
||||
changeInfo, |
||||
addSex, |
||||
deleteName |
||||
} |
||||
} |
||||
} |
||||
</script> |
After Width: | Height: | Size: 6.7 KiB |
@ -0,0 +1,10 @@ |
||||
// 引入的不再是Vue构造函数, 引入的是一个名为createApp的工厂函数
|
||||
import { createApp } from 'vue' |
||||
import App from './App.vue' |
||||
|
||||
// createApp(App).mount('#app')
|
||||
|
||||
// 创建应用实例对象
|
||||
const app = createApp(App) |
||||
console.log('@@@',app) |
||||
app.mount('#app') |
@ -0,0 +1,26 @@ |
||||
<template> |
||||
<Demo @hello="showHelloMsg" msg="你好" user="Roger"> |
||||
<template v-slot:slot1> |
||||
<span>Roger</span> |
||||
</template> |
||||
</Demo> |
||||
</template> |
||||
|
||||
<script> |
||||
import {reactive} from "vue"; |
||||
import Demo from "@/components/demo.vue"; |
||||
|
||||
export default { |
||||
name: 'App', |
||||
components: {Demo}, |
||||
setup(){ |
||||
function showHelloMsg(value) { |
||||
alert(`showHelloMsg:${value}`) |
||||
} |
||||
|
||||
return { |
||||
showHelloMsg |
||||
} |
||||
} |
||||
} |
||||
</script> |
After Width: | Height: | Size: 6.7 KiB |
@ -0,0 +1,36 @@ |
||||
<template> |
||||
<h1>个人信息:</h1> |
||||
<h2>姓名:{{ person.name }}</h2> |
||||
<h2>年龄:{{ person.age }}</h2> |
||||
<button @click="test">触发showHelloMsg</button> |
||||
</template> |
||||
|
||||
<script> |
||||
import {reactive} from "vue"; |
||||
|
||||
export default { |
||||
name: 'Demo', |
||||
beforeCreate() { |
||||
console.log('---beforeCreate---') |
||||
}, |
||||
props: ['msg', 'user'], |
||||
emits: ['hello'], |
||||
setup(props, context) { |
||||
console.log('---setup---', context) // $attrs $emits $slots |
||||
console.log('---setup---', context.slots) // $attrs $emits $slots |
||||
let person = reactive({ |
||||
name: '张三', |
||||
age: 18 |
||||
}) |
||||
|
||||
function test() { |
||||
context.emit('hello',666) |
||||
} |
||||
|
||||
return { |
||||
person, |
||||
test |
||||
} |
||||
} |
||||
} |
||||
</script> |
@ -0,0 +1,10 @@ |
||||
// 引入的不再是Vue构造函数, 引入的是一个名为createApp的工厂函数
|
||||
import { createApp } from 'vue' |
||||
import App from './App.vue' |
||||
|
||||
// createApp(App).mount('#app')
|
||||
|
||||
// 创建应用实例对象
|
||||
const app = createApp(App) |
||||
console.log('@@@',app) |
||||
app.mount('#app') |
@ -0,0 +1,36 @@ |
||||
<template> |
||||
<h1>个人信息:</h1> |
||||
<h2>姓名:{{ person.name }}</h2> |
||||
<h2>年龄:{{ person.age }}</h2> |
||||
<button @click="test">触发showHelloMsg</button> |
||||
</template> |
||||
|
||||
<script> |
||||
import {reactive} from "vue"; |
||||
|
||||
export default { |
||||
name: 'Demo', |
||||
beforeCreate() { |
||||
console.log('---beforeCreate---') |
||||
}, |
||||
props: ['msg', 'user'], |
||||
emits: ['hello'], |
||||
setup(props, context) { |
||||
console.log('---setup---', context) // $attrs $emits $slots |
||||
console.log('---setup---', context.slots) // $attrs $emits $slots |
||||
let person = reactive({ |
||||
name: '张三', |
||||
age: 18 |
||||
}) |
||||
|
||||
function test() { |
||||
context.emit('hello',666) |
||||
} |
||||
|
||||
return { |
||||
person, |
||||
test |
||||
} |
||||
} |
||||
} |
||||
</script> |
Loading…
Reference in new issue