<transition>
<div class="box" v-show=‘isShow‘></div>
</transition>
.v-enter {
opacity: 0;
}
.v-enter-to {
opacity: 1;
}
.v-enter-active {
transition: all 2s;
}
.v-leave {
opacity: 1;
}
.v-leave-to {
opacity: 0;
}
.v-leave-active {
transition: all 2s;
}
<transition name=‘aa‘>
<div class="box" v-show=‘isShow‘></div>
</transition>
样式中:
.aa-enter {
opacity: 0;
}
.aa-enter-to {
opacity: 1;
}
.aa-enter-active {
transition: all 5s;
}
.aa-leave {
opacity: 1;
}
.aa-leave-to {
opacity: 0;
}
.aa-leave-active {
transition: all 5s;
}
<!-- enter-active-class leave-active-class 使用:引入第三库 必须添加基类+效果类名 -->
<transition
enter-active-class=‘animate__animated animate__bounce‘
leave-active-class = ‘animate__animated animate__backOutUp‘
>
<div class="box" v-show=‘isShow‘></div>
</transition>
name(newVal, oldVal) {
console.log(newVal, oldVal)
},
obj: {
handler(a) {
console.log(a)
},
deep: true
},
```
1.原生js案例
<!-- // 跨域;协议,域名,端口号只要有一个不一样就会出现跨域 jsonp解决
// jsonp原理:动态创建script标签,利用src属性进行跨域
// 1.动态创建script标签
// 2.给src赋值
// 3.得到数据渲染页面
// 4.回调函数(请求回来的数据)
// http://suggestion.baidu.com/su?cb=aa&wd=%27abc%E2%80%99 -->
<script>
// 1.获取元素
var oInp = document.querySelector(‘input‘)
var oUl = document.querySelector(‘ul‘)
oInp.oninput = function(a){
console.log(a)
// 1.动态创建script标签
var os = document.createElement(‘script‘);
// 2.赋值src
os.src = ‘http://suggestion.baidu.com/su?cb=aa&wd=‘+this.value
// 3.添加到页面
document.body.appendChild(os)
}
// 回调函数
function aa(res){
console.log(res)
var arr = res.s //请求回来的数据
// 清空上次请求回来的数据
oUl.innerHTML = ‘‘
for(var i =0;i<arr.length;i++){
// 动态创建li
var oLi = document.createElement(‘li‘);
// 给li添加内容
oLi.innerHTML = arr[i]
oUl.appendChild(oLi)
}
}
</script>
2、vue案例
<script>
// http://suggestion.baidu.com/su?cb=aa&wd=%27abc%E2%80%99
let vm = new Vue({
el: ‘#app‘,
data: {
search: ‘‘,
arr:[],//这是用来存储请求回来的数据
},
methods: {
},
watch: {
search() {
// 1.动态创建script标签
var os = document.createElement(‘script‘);
// 2.赋值src
os.src = ‘http://suggestion.baidu.com/su?cb=aa&wd=‘ + this.search
// 3.添加到页面
document.body.appendChild(os)
}
}
})
// 定义回调函数
function aa(res){
console.log(res)
vm.arr = res.s
}
</script>
过滤手机号码
<div id="app">
<!-- | 叫做管道符 管道符前面是需要过来的属性,过滤器后面是过滤器名称-->
{{tel | filterTel}}
<!-- 下面的是错误的,因为是局部定义的过滤器 -->
{{tel | filTel}}
</div>
<script>
// 全局过滤器 Vue.filter(过滤器名称,回调函数)
Vue.filter(‘filterTel‘,(tel)=>{
return tel.slice(0,3)+‘****‘+tel.slice(7)
})
let vm = new Vue({
el: ‘#app‘,
data: {
tel:‘15858589958‘
},
methods: {
},
})</script>
```
过滤价格
<div id="app">
价格:{{price | filterPrice}}
</div>
<script>
// 全局过滤器 Vue.filter(过滤器名称,回调函数)
Vue.filter(‘filterPrice‘,(price)=>{
return price.toFixed(2)
})
let vm = new Vue({
el: ‘#app‘,
data: {
price:29
},
methods: {
},
})
// filter: 全局过滤器 vue实例的外部定义 Vue.filter(过滤器名称,回调函数)
// 局部过滤器 vue实例中增加配置项filters 过滤器名称:function(){过滤操作}
</script>
```
过滤时间
<script>
<div id="app">
时间:{{time | filterPrice}}
</div>
// 全局过滤器 Vue.filter(过滤器名称,回调函数)
Vue.filter(‘filterPrice‘,(time)=>{
// 获取当前时间
let data = new Date(time)
// 年
let year = data.getFullYear();
// 月
let month= (data.getMonth()+1+‘‘).padStart(2,‘0‘);
// 日
let day = (data.getDate()+‘‘).padStart(2,‘0‘)
// 时
let hours = data.getHours()
//分
let min= data.getMinutes()
// 秒
let sec = data.getSeconds()
return `${year}-${month}-${day} ${hours}:${min}:${sec}`
})
let vm = new Vue({
el: ‘#app‘,
data: {
// new Date().getTime() 获取当前时间戳
time:1609917028669
},
methods: {
},
})
// filter: 全局过滤器 vue实例的外部定义 Vue.filter(过滤器名称,回调函数)
// 局部过滤器 vue实例中增加配置项filters 过滤器名称:function(){过滤操作}
</script>
```
原文:https://www.cnblogs.com/hxmw/p/14248156.html