我尝试过这样做,但它不起作用。
@include foundation-everything($flex: false);
答案 0 :(得分:30)
以下是一个例子:
// MyFilter.js
import Vue from 'vue';
Vue.filter('myFilter', value => {
return value.toUpperCase();
});
// main.js
import './MyFilter.js';
如果您不想全局注册过滤器,可以这样做:
// MyFilter.js
export default function (value) {
return value.toUpperCase();
}
// MyComponent.vue
import MyFilter from './MyFilter.js';
export default {
filters: {
MyFilter,
},
};
答案 1 :(得分:6)
如果没有那么多过滤器,也可以在一个文件中定义它们:
// filters.js
export default {
filterA: () => {},
filterB: () => {},
}
并将它们全局导入:
// main.js
import filters from './filters';
for(let name in filters) {
Vue.filter(name, filters[name]);
}
答案 2 :(得分:0)
我们可以为此创建一个插件
// filters.js
import Vue from 'vue'
export function truncate( text, length, suffix = '...' ) {
if (text.length > length) {
return text.substring(0, length) + suffix;
} else {
return text;
}
}
export function json( value ) {
return JSON.stringify(value);
}
const filters = { truncate, json }
Object.keys( filters ).forEach( key => {
Vue.filter( key, filters[ key ] )
})
然后在配置中添加这个新插件
export default {
plugins: ['~/plugins/filters.js']
}