处理模版
This commit is contained in:
parent
2d1d090790
commit
33c8ca3677
@ -1,35 +1,95 @@
|
|||||||
# vue-project
|
# vue-project
|
||||||
|
|
||||||
This template should help get you started developing with Vue 3 in Vite.
|
## Vue 模版语法
|
||||||
|
|
||||||
## Recommended IDE Setup
|
```vue
|
||||||
|
<template>
|
||||||
|
<div class="about">
|
||||||
|
<h1>This is an about {{ pageName }} page</h1>
|
||||||
|
<hr />
|
||||||
|
<input v-model="inputData" type="text" />
|
||||||
|
<hr />
|
||||||
|
|
||||||
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).
|
{{ person.name }}, {{ person.age }}
|
||||||
|
</div>
|
||||||
## Customize configuration
|
</template>
|
||||||
|
|
||||||
See [Vite Configuration Reference](https://vite.dev/config/).
|
|
||||||
|
|
||||||
## Project Setup
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Compile and Hot-Reload for Development
|
`{{ }}` vue的模版语法, 需要vue编译器, 编程普通的 js语法
|
||||||
|
|
||||||
```sh
|
### 标签的文本值
|
||||||
npm run dev
|
|
||||||
|
HTML标签里 所有的 InterText的值,都可以使用`{{}}`来访问, element.innerText
|
||||||
|
|
||||||
|
### 元素属性binding
|
||||||
|
|
||||||
|
```html
|
||||||
|
<hr />
|
||||||
|
<!-- 操作这个元素,然后通过Set Attri -->
|
||||||
|
<!-- 一套独立的语法,获取元素的属性,然后来实现属性的绑定 -->
|
||||||
|
<!-- person.name -> element Set attri: v-bind -->
|
||||||
|
<!-- 为元素绑定动态属性 -->
|
||||||
|
<!-- v-bind -> : -->
|
||||||
|
<span name="静态变量" :id="person.name">{{ person.name }}, {{ person.age }}</span>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Compile and Minify for Production
|
### 元素事件binding
|
||||||
|
|
||||||
```sh
|
```html
|
||||||
npm run build
|
<button v-show="false" @click="buttonClickHandler">确定</button>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Lint with [ESLint](https://eslint.org/)
|
### 表单bindding
|
||||||
|
|
||||||
```sh
|
```html
|
||||||
npm run lint
|
<input v-model="inputData" type="text" />
|
||||||
|
```
|
||||||
|
|
||||||
|
https://cn.vuejs.org/guide/essentials/forms.html
|
||||||
|
|
||||||
|
### 元素内联样式binding
|
||||||
|
|
||||||
|
沿用v-bing 这个属性绑定语法: style 这种 样式设置,他有特殊的结构, 样式属性:
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
color: bule,
|
||||||
|
backgrouClor: blue;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```html
|
||||||
|
<div>Picked: <span :style="">{{ picked }}</span></div>
|
||||||
|
|
||||||
|
<input type="radio" id="red" value="red" v-model="picked" />
|
||||||
|
<label for="red">Red</label>
|
||||||
|
|
||||||
|
<input type="radio" id="blue" value="blue" v-model="picked" />
|
||||||
|
<label for="blue">Blue</label>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 元素class样式binding
|
||||||
|
|
||||||
|
```html
|
||||||
|
<div>Picked: <span :class="[picked]">{{ picked }}</span></div>
|
||||||
|
|
||||||
|
<input type="radio" id="red" value="red" v-model="picked" />
|
||||||
|
<label for="red">Red</label>
|
||||||
|
|
||||||
|
<input type="radio" id="blue" value="blue" v-model="picked" />
|
||||||
|
<label for="blue">Blue</label>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 条件渲染
|
||||||
|
|
||||||
|
```html
|
||||||
|
<button v-if="true" @click="buttonClickHandler">确定</button>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 列表渲染
|
||||||
|
|
||||||
|
```html
|
||||||
|
<ul>
|
||||||
|
<li v-for="item in drinks" :key="item">{{ item }}</li>
|
||||||
|
</ul>
|
||||||
```
|
```
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
@import './base.css';
|
@import './base.css';
|
||||||
|
@import './my.css';
|
||||||
|
|
||||||
#app {
|
#app {
|
||||||
max-width: 1280px;
|
max-width: 1280px;
|
||||||
|
1
skills/web/vue-project/src/assets/my.css
Normal file
1
skills/web/vue-project/src/assets/my.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
@ -4,7 +4,27 @@
|
|||||||
<hr>
|
<hr>
|
||||||
<input v-model="inputData" type="text">
|
<input v-model="inputData" type="text">
|
||||||
<hr>
|
<hr>
|
||||||
{{ person.name }}, {{ person.age }}
|
<!-- 操作这个元素,然后通过Set Attri -->
|
||||||
|
<!-- 一套独立的语法,获取元素的属性,然后来实现属性的绑定 -->
|
||||||
|
<!-- person.name -> element Set attri: v-bind -->
|
||||||
|
<!-- 为元素绑定动态属性 -->
|
||||||
|
<!-- v-bind -> : -->
|
||||||
|
<span name="静态变量" :id="person.name">{{ person.name }}, {{ person.age + 1 }}</span>
|
||||||
|
<hr>
|
||||||
|
<button v-if="true" @click="buttonClickHandler">确定</button>
|
||||||
|
<hr>
|
||||||
|
<ul>
|
||||||
|
<li v-for="item in drinks" :key="item"> {{ item }}</li>
|
||||||
|
</ul>
|
||||||
|
<hr>
|
||||||
|
<div>Picked: <span :style="{ color: picked }">{{ picked }}</span></div>
|
||||||
|
<div>Picked: <span :class="[picked]">{{ picked }}</span></div>
|
||||||
|
|
||||||
|
<input type="radio" id="red" value="red" v-model="picked" />
|
||||||
|
<label for="red">Red</label>
|
||||||
|
|
||||||
|
<input type="radio" id="blue" value="blue" v-model="picked" />
|
||||||
|
<label for="blue">Blue</label>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -51,6 +71,14 @@ const person = reactive({
|
|||||||
age: 18
|
age: 18
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const buttonClickHandler = (v) => {
|
||||||
|
console.log(v)
|
||||||
|
}
|
||||||
|
|
||||||
|
const drinks = reactive(['Tea', "Coffee", "Milk"])
|
||||||
|
|
||||||
|
//
|
||||||
|
const picked = ref('red')
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -62,4 +90,12 @@ const person = reactive({
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
} */
|
} */
|
||||||
|
|
||||||
|
.red {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blue {
|
||||||
|
color: blue;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Vue3
|
# Vue3
|
||||||
|
|
||||||
https://gitee.com/infraboard/go-course/blob/master/day20/vue3.md
|
https://gitee.com/infraboard/go-course/blob/master/day20/vue-base.md#%E6%A8%A1%E6%9D%BF%E8%AF%AD%E6%B3%95
|
||||||
|
|
||||||
|
|
||||||
如何切换国内源: https://gitee.com/infraboard/go-course/blob/master/extra/devcloud/setup.md
|
如何切换国内源: https://gitee.com/infraboard/go-course/blob/master/extra/devcloud/setup.md
|
||||||
|
Loading…
x
Reference in New Issue
Block a user