为什么改变VueI18n实例的locale属性,所有用到国际化的地方就会自动改变

问题: 如题

在源码里找了半天也没找到,猜测是所有用到国际化的地方和VueI18n实例做了响应式的绑定,当locale变化时就能自动驱动用处也发生变化

但是具体原理求解答

阅读 4.6k
1 个回答

自己翻源码找到这, 不确定是不是,求解答

VueI18n.prototype.watchI18nData = function watchI18nData () {
  var self = this;
  return this._vm.$watch('$data', function () {
    var i = self._dataListeners.length;
    while (i--) {
      Vue.nextTick(function () {
        self._dataListeners[i] && self._dataListeners[i].$forceUpdate();
      });
    }
  }, { deep: true })
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题