鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ 為什么改變VueI18n實例的locale屬性,所有用到國際化的地方就會自動改變

為什么改變VueI18n實例的locale屬性,所有用到國際化的地方就會自動改變

問題: 如題

在源碼里找了半天也沒找到,猜測是所有用到國際化的地方和VueI18n實例做了響應(yīng)式的綁定,當locale變化時就能自動驅(qū)動用處也發(fā)生變化

但是具體原理求解答

回答
編輯回答
嘟尛嘴

自己翻源碼找到這, 不確定是不是,求解答

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 })
};
2017年1月18日 22:07