1.要定义在 filters 节点下,本质上是一个函数
2.在过滤器函数中,一定要有 return 值
3. 在过滤器的形参中,可以获取到“管道符”前面待处理的那个值
4. 如果全局过滤器和私有过滤器名字一致,此时按照就近原则,调用的是"私有过滤器"
<div id="app">
<p>{{ message | capi }}p>
div>
<script src="./lib/vue-2.6.12.js">script>
<script>
Vue.filter('capi', (str) => {
return str.charAt(0).toUpperCase() + str.slice(1);
// return 'aaa'
})
const vm = new Vue({
el: '#app',
data:{
message : 'hello vue.js'
}
})
<div id="app">
<input type="text" v-model="info.username">
div>
<script src="./lib/vue-2.6.12.js">script>
<script src="./lib/jquery-v3.6.0.js">script>
<script>
const vm = new Vue({
el: '#app',
data: {
info:{
username: 'admin'
}
},
watch: {
'info.username':{
handler(newVal){
// console.log(newVal);
if(newVal === '') return
$.get('https://www.escook.cn/api/finduser/' + newVal,function(res){
console.log(res.message);
})
},
immediate: true,
deep: true
}
}
})
script>
特点:
缺点:
<div id="app">
<div>
<span>R:span>
<input type="text" v-model.number="r">
div>
<div>
<span>G:span>
<input type="text" v-model.number="g">
div>
<div>
<span>B:span>
<input type="text" v-model.number="b">
div>
<hr>
<div class="box" :style="{ backgroundColor: rgb }">
{{ rgb }}
div>
<button @click="show">按钮button>
div>
<script>
// 创建 Vue 实例,得到 ViewModel
var vm = new Vue({
el: '#app',
data: {
// 红色
r: 0,
// 绿色
g: 0,
// 蓝色
b: 0
},
methods: {
// 点击按钮,在终端显示最新的颜色
show() {
console.log(this.rgb)
}
},
computed:{
rgb(){
return `rgb(${this.r},${this.g},${this.b})`
}
}
});
script>
axios 是一个专注于网络请求的库!
document.querySelector('#get').addEventListener('click', async function () {
const { data : res } = await axios.get('http://www.liulongbin.top:3006/api/getbooks', {
params: {
id: 1
}
})
console.log(res.data);
});
document.querySelector('#post').addEventListener('click', async function(){
const { data:res} = await axios.post('http://www.liulongbin.top:3006/api/post',{
name:"zhansan",
age: 50
})
console.log(res.body);
})
如果调用某个方法的返回值为 promise 实例,则前面可以添加 await ! await 只能用在被 async 修饰的方法中
在cmd终端下先下载vue-cli
npm i vue-cli -g
1.在终端下运行如下命令创建指定名称的项目:
vue create 项目的名称
assets 文件夹: 存放项目中用到的静态资源文件,例如: css 样式表,图片资源。
components 文件夹: 程序员封装的,可以复用的组件,都要存放在components 目录下
main.js 是项目的入口文件,整个项目的运行,要先执行 main.js
App.vue 是项目的根组件.
vue组件 是对UI结构的复用; .vue 都为组件
<template>
<div class="app-container">
<h1>App 根组件h1>
<hr />
<div class="box">
<left>left>
<right>right>
div>
div>
template>
<script>
import left from "@/components/Left.vue"
import right from "@/components/Right.vue"
export default {
components:{
left,
right
}
}
script>