0
有时我需要调用某个函数来响应数据属性的更改。但是,我也需要该函数来触发数据属性的初始值。Vue.js:组件初始化时如何触发观察器功能
当组件初始化时,监视器不会触发,因为在技术上监视的属性尚未更改。所以,我最终将函数放在methods
对象中,然后在观察器和mounted
钩子中调用该方法。
下面是一个例子:
new Vue({
el: '#app',
data() {
return {
selectedIndex: 0,
}
},
methods: {
focusSelected() {
this.$refs.input[this.selectedIndex].focus();
}
},
watch: {
selectedIndex() {
this.focusSelected();
}
},
mounted() {
this.focusSelected();
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script>
<div id="app">
<div v-for="i in 4">
<input ref="input"/>
<button @click="selectedIndex = (i - 1)">Select</button>
</div>
</div>
有没有办法对我来说,能有观察者火当组件初始化?