vue 过滤器,侦听器,计算属性......
常用于文本格式化,可以用在插值表达式和v-bind属性绑定,使用管道符(|)调用,过滤器本质上是一个函数,在与method同级定义,fliters:{},且过在Vue3.0过滤器已移除,显示的值是过滤器的返回值(必须有),在过滤器的第一个形参就可以获取到管道前待处理的值。
全局过滤器:
Vue.filter("name",function(str){
过滤器函数体
})
全局与私有过滤器冲突按照就近原则,调用私有过滤器。
过滤器可以多个调用,前面的过滤器返回值是另一个的参数。
在调用过滤器时可以传参。
侦听器(watch)
监视某些数据的变化,并做相应的操作
要监听那个数据就将那个数据定义为方法名,形参中第一个为就值,第二个参数为新的值。
定义在watch:{}结点上,只要监听的值发生变化就会调用监听器。
函数形式的侦听器:不会在刷新页面时自动触发。
侦听的是一个对象时,对象属性变化不触发。
对象形式的侦听器:可以通过immediate选项,让侦听器进入触发。
在对象中有个handler属性中形参拿到旧值与新值。如immediate属性为true,进入则回触发。开启深度侦听,deep:true;只要对象中任何一个属性变化就会触发。
如果只想侦听对象中某个值的变化,可以使用‘object.val’():{},
axios
专注于数据请求的库
调用axios的返回值为一个promise对象
axios({
method:‘POST’
//url 请求参数
parms:{},
//请求体
data:{}
})
如果调用某个方法的返回值为Promise实例,可以加await
await只能在被async修饰的方法中。
可以使用解构,如果需要重命名用:,{data:res}
axios.get('url',{
params:{}
})
axios.post('url',{})
组件
Vue中每个.vue文件就是一个组件,每一个组件有三个部分组成,分别为:template,script,style
使用组的步骤:使用import语法导入需要的组件,(导入名可自定)
使用components结点注册组件,
使用名称标签。
全局组件的注册,在main.js中,使用Vue.component(‘使用名称 ’,导入时名称)
组件不能自己使用自己,会造成无结束的递归,从而栈溢出。
在与data平级,定义一个props属性(自定义属性),在组件标签可以类似使用一个attribute的形式使用传值,传值时要使用v-bind
v-bind 中的写的内容是js的语法
props中的数据可以直接在模板结构上使用,但是props是只读的,若直接改变props中的值,会抛出警告,如果要对值进行操作,可转存到data中的值。data:this.propsData
数组形式的props不能设置默认值,若要设置默认值则将props定义成对象的形式,设置默认值default:,设置类型 type:,设置为必填项 required .
组件样式污染
给一个组件中的所有dom添加了一个独一无二的动态属性,给css选择器额外添加一个对应的属性选择器,来选择组件中的dom,这种做法使得样式只作用于含有该属性的dom元素(组件内部的dom)。
如果要防止组件样式污染需要加一个scoped属性,如果要使用样式穿透则需要使用/deep/ 。

浙公网安备 33010602011771号