[Improvement] Support Vue.use to register a component (#401)

This commit is contained in:
neverland
2017-12-11 20:41:19 +08:00
committed by GitHub
parent 7dbb5db256
commit 6f2b4c99da
162 changed files with 432 additions and 490 deletions

View File

@@ -1,29 +1,10 @@
import Vue from 'vue';
import { get, camelize } from '../utils';
import deepAssign from '../utils/deep-assign';
import defaultMessages from './lang/zh-CN';
// component mixin
const i18n = {
computed: {
$t() {
const { name } = this.$options;
const prefix = name ? camelize(name) + '.' : '';
const messages = this.$vantMessages[this.$vantLang];
return (path, ...args) => {
const message = get(messages, prefix + path) || get(messages, path);
return typeof message === 'function' ? message.apply(null, args) : message;
};
}
}
};
const proto = Vue.prototype;
const defaultLang = 'zh-CN';
const locale = {
i18n,
init() {
Vue.util.defineReactive(proto, '$vantLang', defaultLang);
Vue.util.defineReactive(proto, '$vantMessages', { [defaultLang]: defaultMessages });
@@ -41,4 +22,3 @@ const locale = {
locale.init();
export default locale;
export { i18n };