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

為什么改變VueI18n實(shí)例的locale屬性,所有用到國(guó)際化的地方就會(huì)自動(dòng)改變

問(wèn)題: 如題

在源碼里找了半天也沒(méi)找到,猜測(cè)是所有用到國(guó)際化的地方和VueI18n實(shí)例做了響應(yīng)式的綁定,當(dāng)locale變化時(shí)就能自動(dòng)驅(qū)動(dòng)用處也發(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