vuejs国际化处理

1、HTML标签中


2、js中


vuejs国际化处理_第1张图片

3、路由中


vuejs国际化处理_第2张图片

4、字典中

1)、在method中定义函数

commonDict(type, Obj) {

                    let obj = Object.assign({}, Obj);

                    for (var variable in obj) {

                        if (typeof type === 'number') {

                            variable = parseInt(variable);

                        }

                        if (variable === type) {

                            obj[variable] = this.$i18n.t(obj[variable]);

                            return obj[variable];

                        }

                    }

                }


vuejs国际化处理_第3张图片

2)、在data里面定义:

     is_effect: IS_EFFECT

3)、在html中引入

{{commonDict(scope.row.status,is_effect)}}


vuejs国际化处理_第4张图片

import  {  IS_EFFECT, IS_EDIT} from '@/common/js/dict';

5、表单校验的ruler中:

1)、若是message则不能直接用函数处理,message不支持函数处理

2)、放到计算属性里面则示例如下:

computed: {

            ruler() {

                return {

                    name: [{

                        required: true,

                        // message: () => {

                        //  return this.$i18n.tp('dictForm.empty');

                        // },

                        message: this.$i18n.tp('dictForm.empty')

                    }],

                    code: [{

                        required: true,

                        messages: {

                            err01: () => {

                                return this.$i18n.tp('validate.checkNum.digital');

                            },

                            erro2: () => {

                                return this.$i18n.tp('validate.checkNum.nzero');

                            }

                        },

                        validator: checkNum

                    }],

                    orderCode: [{

                        required: true,

                        messages: {

                            err01: () => {

                                return this.$i18n.tp('validate.checkNum.digital');

                            },

                            erro2: () => {

                                return this.$i18n.tp('validate.checkNum.nzero');

                            }

                        },

                        validator: checkNum

                    }]

                };

            }

        }

对于checkNum引入import {checkNum} from '@/common/js/validate';

validate的引入 

const checkNum = (ruls, value, callback) => {

  console.log(ruls, value, callback);

  setTimeout(() => {

    if (!/^\+?[0-9][0-9]*$/.test(value)) {

      callback(new Error(ruls.messages.err01()));

    } else {

      if (value < 0) {

        callback(new Error(ruls.messages.err02()));

      } else {

        callback();

      }

    }

  }, 500);

};


vuejs国际化处理_第5张图片


vuejs国际化处理_第6张图片

你可能感兴趣的:(vuejs国际化处理)