3 回答
TA贡献1797条经验 获得超6个赞
向您的元素添加一个名为 like 的 ref myBtn:
<div ref="myBtn" >some content</div>
然后运行点击:
this.$refs.myBtn.click()
例子 :
Vue.config.devtools = false;
Vue.config.productionTip = false;
new Vue({
el: '#app',
methods: {
logOk() {
console.log("OK OK")
}
},
mounted() {
this.$refs.okBtn.click()
}
})
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
<div id="app" class="container">
<button ref="okBtn" @click="logOk"> OK</button>
</div>
TA贡献1802条经验 获得超5个赞
只需选择您的元素并在MountedVue 应用程序的生命周期中触发 Click 事件
mounted() {
this.$nextTick(() => {
document.getElementById('myBtn').click()
});
}
$nextTick根据 VueJs 文档:
推迟回调在下一个 DOM 更新周期后执行。更改一些数据后立即使用它以等待 DOM 更新
TA贡献1839条经验 获得超15个赞
在您的示例代码中,不需要任何 DOM 操作。像 Vue 这样的声明式响应式框架的主要优势是将模型的更改自动传播到视图。只需通过v-model适当的设置即可选择适当的单选按钮。
new Vue({
el: '#app',
data() {
return {
li_address: [{name: 'CA'}, {name: 'NY'}, {name: 'AL'}],
name: 'NY'
}
}
})
<div id="app" class="container">
<div class="uk-grid" uk-grid>
<div v-for="r in li_address">
<label :for="r.name">{{r.name}}
<input type="radio" v-model="name" :id="r.name" :value="r.name">
</label>
</div>
<h4>NAME: {{ name }}</h4>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.5/css/uikit.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.5/js/uikit.min.js"></script>
添加回答
举报