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>
添加回答
舉報