Vue的全局filters

我在Vue的入口js写全局过滤器的逻辑,看了官方的案例是Vue.filter()全局注册的函数,我想换种写法,用mixins 方式

这种方式我试了在单个的组件页面把filter函数放在mixins里面是可行的,但是放在入口文件这里没起到作用?这是为什么??全局的混入不是在每个页面都可以访问吗?

main.js

const mixins = {    
    filters: {             
        mixin_fixed2 (val) {            
            return val.toFixed(2);   
        }
    },
    created(){
        console.log('chengg')
    }   }new Vue({
  el: '#app',
  router,
  mixins:[mixins],
  template: '<App/>',
  components: { App }})

这种写法我在其他的组件页面使用这个mixin_fixed2 过滤器是报错的。。

我把这段逻辑放在单个的组件页面

import mixins from '@/plugins/mixins.js'export default {
  mixins:[mixins]
}

这里是没问题的


侃侃尔雅
浏览 690回答 1
1回答

HUH函数

mixins只对当前组件有作用,也就是你在根组件注入mixins只有根组件能调用注入的filters,并不会向下级组件渗透你可以试下全局&nbsp;Vue.mixin()我并不建议这么做,应该让合适的方法做合适的事情,直接用filter未来回头再看代码不容易产生疑虑,而你这样混在mixin里面用以后如果想排查个filter还得想想自己是否定义在了mixin里面,很不规范
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript