作为后端dev我,第一次学习Vue
Vue小白上手
pre-perparation
- 你需要准备node环境,
brew install npm
- 你需要安装vue client,
npm install -g @vue/cli
- 你还可以直接使用下列命令初始化vue项目,
npm init vue@latest
- 项目初始完成之后,进入到你的项目中
cd <your project name>
- 安装依赖,
npm install
- 运行项目,
npm run dev
,这个dev命令是在当前项目的package.json
文件夹下定义的一些vue-cli-service
命令的alias
- 项目初始完成之后,进入到你的项目中
- 完成了上述步骤,一个最基本的vue项目已经初始化好了
基础语法
- vue是基于组件化开发的一种前端框架,利用这种分离的方式使得前端业务得以解耦,每一个单体组件都被封装在一个
.vue
的文件中,只需要在用的地方加以引用便可以实现重复利用
加载app
- 定义一个
main.js
,这个类似于一个main函数入口,这个即被当做是当前vue项目的入口,在其中做出如下的定义:在当前目录下定义一个
App.vue
文件,在其中定义布局,引用模块,在main.js中引用,然后再挂载mount('#app')
,使用#app
就是使用了css的元素选择器1
2
3
4
5import { createApp } from 'vue'
// 从一个单文件组件中导入根组件
import App from './App.vue'
const app = createApp(App)
app.mount('#app')
文本替换
使用模板语法赋值,
{{template field}}
,举个例子,<span>Message: {{ msg }}</span>
当前的msg可以被定义在如下的代码中在
<script></script>
代码块中定义如下的声明,在html被渲染的时候将会进行替换,除了声明简单的文本,在Mustache中还可以定义一些表达式,请注意一定是表达式1
2
3
4
5
6
7export default {
data() {
return {
msg: "default value"
}
}
}Mustache的替换模式只能用来替换某个元素的值,如果想要替换html的属性的值,这里可以使用attribute,
v-bind
,v-if
,v-for
等等举个🌰:
<input v-bind:id="someId"></input>
,因为v-bind使用的频率很高还可以用<input :id="someId"></input>
代替,其中的someId就可以使用以下的方式赋值:1
2
3
4
5
6
7export default {
data() {
return {
someId: "default value"
}
}
}
计算值的方式
- 计算属性缓存,使用compute属性,计算属性值会基于其响应式依赖被缓存。一个计算属性仅会在其响应式依赖更新时才重新计算
- 方法,使用method属性,方法调用总是会在重渲染发生时再次执行函数
基础事件支持
- 类型
内联式,适用于比较简单的场景,直接把计算逻辑放在事件后面,🌰:html代码
1
2
3
4
5
6
7
8
9
10
11
12<button onclick="count++">OK</button>
<p>{{count}}</p>
<script>
export default {
data() {
return {
count : 0
}
}
}
</script>方法式,将复杂的逻辑提取到method属性中,使用的时候,直接调用方法名即可
- vue支持的事件,可以参考 官方文档
表单事件绑定
- 直接使用
v-model
,实现双向绑定,支持所有的表单属性,当有对应的事件发生的时候,将会改变绑定对象的值
组件之间传值
在父组件中使用子组件的属性传值,以下是父组件的例子
1
2
3
4
5
6
7
8
9
10
11<ChatChannel :childComponent="selected"/>
<script>
export default() {
data() {
return {
selected: "default value"
}
}
}
</script>在子组件定义props接收父组件的传值,并使用它
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<script>
export default() {
props: {
childComponent: {
type: String,
required: true
}
},
method: {
showChildComponent() {
alert(this.childComponent)
}
}
}
</script>
- Title: 作为后端dev我,第一次学习Vue
- Author: Xiao Qiang
- Created at : 2023-03-31 17:31:20
- Updated at : 2025-03-08 10:49:30
- Link: http://fdslk.github.io/tech/vue/2023/03/31/quick-start-vue/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments