|  |      1LeungJZ      2018-04-16 16:47:16 +08:00 我的做法是: 将 const STATES = { success:‘已成功’, pending: '发送中', fail: '失败' } 放到 mixins 下面, export const getState = state => STATES[state] 引入: import {getState} from 'xxx' getState(YourStateFromRemote) | 
|      2crushJs OP @LeungJZ 我就是想知道,为啥要在 root 层多写一层字段映射呢? state 不应该是纯净的数据流吗?数据处理怎么放到 root 层了? | 
|  |      3LeungJZ      2018-04-16 17:03:09 +08:00 可以在 store 中分一个模块出来,专门管理这些静态资源,放不放 root 看个人习惯,反正一般都是通过 store.getters.xxx 去取的。 | 
|  |      4safaring      2018-04-16 17:09:48 +08:00 赞同你的想法 | 
|  |      6goreliu      2018-04-16 17:29:21 +08:00 如果你不清楚自己的方法好在哪里,为什么要说服对方使用自己的方法呢?你可以换位思考一下。 | 
|  |      8goreliu      2018-04-16 17:32:16 +08:00  1 @crushJs 规范就是没有异议优先采用的,如果你认为规范不合理,那你需要指出为什么不合理,然后怎样才合理,来说服规范的制定者或者采用者。可以设想一下你是规范的制定者,然后重新想一下这个问题。 | 
|      9h1367500190      2018-04-16 17:38:07 +08:00 如果只是实现类似于 i18n,或者只是普通的键值对,没必要放到 store 里吧,为什么不静态化呢?非要这样做的话,我觉得还不如做成插件以添加全局属性的方式实现 | 
|  |      10tao1991123      2018-04-16 17:43:29 +08:00 现在只有一种语言: 中文 ```javascript mapToStatus = { success:‘已成功’, pending: '发送中', fail: '失败' } ``` 如果有其他语言 那就是 ```javascript mapToStatus = { en: { success:‘ success ’, pending: 'pending', fail: 'fail' }, cn: { success:‘已成功’, pending: '发送中', fail: '失败' } , } ``` 简而言之你这就是一个简化版的 i18n 的需求,建议参考 https://github.com/kazupon/vue-i18n 的做法 | 
|      11crushJs OP @h1367500190 你是说加一个 i18n 的插件是吗? | 
|  |      12airyland      2018-04-16 19:41:06 +08:00 via iPhone 全局 filter |