如何监听div的内容正在vue更新?

时间:2018-02-07 09:17:31

标签: javascript vuejs2

我有一个由 int flagOffset = 0x1F1E6; int asciiOffset = 0x41; String country = language; int firstChar = Character.codePointAt(country, 0) - asciiOffset + flagOffset; int secondChar = Character.codePointAt(country, 1) - asciiOffset + flagOffset; String flag = new String(Character.toChars(firstChar)) + new String(Character.toChars(secondChar)); pFlagText.setText(flag); 创建并由list包裹的v-for

md-scrollbar

更改列表后,我希望滚动条滚动到底部。 因此需要监听元素<md-content class="md-scrollbar"> <div v-for="(msg, index) of list" :key="index"> {{msg}} </div> </md-content> 事件或滚动条scrollHeight updated事件。如何监听某些DOM元素的属性是否已更改?

BTW我无法在列表更改逻辑后移动滚动,因为此时尚未呈现新元素,changed的高度未更新。

2 个答案:

答案 0 :(得分:1)

由于您需要更新的dom,因此可以使用Vue.nextTick(列表数据更新后):

Vue.nextTick(function () {
  // DOM updated
})

答案 1 :(得分:0)

使用watch观看list并做出相应的反应

e.g。

var vm = new Vue({
  data: {
    c: {
        b: 2
    },
  },
  watch: {
    c: {
      handler: function(val, oldVal) {
        window.scrollTo(0,document.body.scrollHeight);
      },
      deep: true
    }
  }
});