笔记:
过滤器的应用1.时间 2.货币需要加¥符号
过滤器有两种:全局和局部
一.拦截器的使用
<!DOCTYPE html>
<html>
<head>
<title>ceshi</title>
<script src="vue.js"></script>
</head>
<body>
<div id="box">
{{msg | accpName | jiaName}}
</div>
</body>
<script>
//全局拦截器
//过滤器的应用1.时间 2.货币需要加¥符号
//过滤器有两种:全局和局部
accpName过滤器的名称,后面的是方法
Vue.filter("accpName",function(val){
return "ACCP"+val;
});
//jiaName过滤器的名称,后面的是方法
Vue.filter("jiaName",function(val){
return val+"广州豪哥";
});
var vm = new Vue({
el:"#box",
data:{
msg:"jw"
}
});
结果:
拦截器案例:通过过滤器+零售价和打折,货币符号+¥
<!DOCTYPE html>
<html>
<head>
<title>ceshi</title>
<script src="vue.js"></script>
<script src="https://cdn.bootcss.com/axios/0.18.0/axios.js"></script>
</head>
<body>
<div id="app">
<ul>
<li v-for="item in products">
{{item.name}}--{{item.price | discount(125) | myCurrency("¥")}}
</li>
</ul>
</div>
</body>
<script>
//过滤器案例 通过过滤器+零售价和打折,货币符号+¥
var rm=new Vue({
el:"#app",
data:{
products:[{name:"apple",price:34},{name:"XiangJiao",price:20}]
},
filters:{//第一个是数据本身,arg1=参数
myCurrency:function(myInput,arg1){
var result=arg1+myInput;
return result;
},//第一个是数据本身,第二个是参数
discount:function(value,discount){
return value*(discount/100);
}
}
});
</script>
</html>
结果:
二,生命周期
三.拦截器
在request或response传递时先进入拦截器
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="vue.js"></script>
<script src="https://cdn.bootcss.com/axios/0.18.0/axios.js"></script>
</head>
<body>
</body>
<script>
var vm = new Vue({
el:"#绑定控件",
data:{
//属性
msg:"jw",
},
mounted:function(){
//请求前拦截
axios.interceptors.request.use(function(config){
console.log("request使用前被拦截了");
return config;
},function(err){
console.log("拦截异常");
return Promise.reject(err);
},
axios.interceptors.response.use(function(config){
console.log("response使用前被拦截了");
return config;
},function(err){
console.log("拦截异常");
return Promise.reject(err);
})
)
}
});
</script>>
</html>