vue綁定(radiobutton,下拉選單)
分別為綁定物件、值 及顯示物件、值之範例
by cactus77kiki
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js">
</script>
<div id="app">
<h2>1.取得選取之值(text):</h2>
<h5>(綁定對象:物件內屬性)</h5>
{{selected1}}
<select v-model="selected1">
<option v-for="todo in todos"
v-bind:value="todo.value">
{{ todo.text }}
</option>
</select><br/>
<h2>2.取得選取之值(物件):</h2>
<h5>(綁定對象:物件)</h5>
{{selected2}}
<select v-model="selected2">
<option v-for="todo in todos"
v-bind:value="todo">
{{ todo.text }}
</option>
</select>
<hr/>
<h2>3.取得選取之值(值):</h2>
<h5>(綁定對象:值)</h5>
{{radio1}}<br/>
<span v-for="todo in todos">
<input type="radio" v-bind:value="todo.text" v-model="radio1" v-on:change="change1(todo.text)">
<label>{{todo.text}}</label>
</span>
<hr/>
<h2>4.取得選取之值(物件):</h2>
<h5>(綁定對象:物件)</h5>
{{radio2}}<br/>
<span v-for="todo in todos">
<input type="radio" v-bind:value="todo" v-model="radio2" v-on:change="change2(todo)">
<label>{{todo.text}}</label>
</span>
</div>
JavaScript
new Vue({
el: "#app",
data: {
todos: [
{ text: "Learn JavaScript", done: false,value:1 },
{ text: "Learn Vue", done: false ,value:2},
{ text: "Play around in JSFiddle", done: true,value:3 },
{ text: "Build something awesome", done: true,value:4 }
],
selected1: "",
selected2: "",
radio1:"",
radio2:""
},
methods: {
toggle: function(todo){
todo.done = !todo.done
},
change1: function(todo){
console.log(todo); //todo.text之值
},
change2: function(todo){
console.log(todo); //物件內容
}
}
})