私は問題があります。フォームバインディングvue jsから値を取得する方法について本当に混乱しました。私は試しました - >https://vuejs.org/v2/guide/forms.html#Select。しかし、私はいつもエラーが出ます - >"selected"というプロパティまたはメソッドはインスタンス上で定義されていませんが、レンダリング時に参照されます。データオプションで無効なデータプロパティを宣言してください。私のコードで何が問題になっていますか?ここで選択したドロップダウンから値を取得するVue Js
は私のコードです:ここでは
data: function() {
return {
data: {
options: {},
selected: ''
}
};
},
methods: {
Search: function() {
var vm = this;
var types = [
{
"id": "id",
"value": "ID"
},
{
"id": "title",
"value": "Title"
},
{
"id": "category",
"value": "Category"
},
{
"id": "username",
"value": "Nama User"
}
];
vm.data.options = types;
console.log(vm.data.selected);
}
}
は私のhtmlコードです:
<select v-model="selected" class="form-control sl">
<option v-for="option in data.options" v-bind:value="option.id">
{{ option.value }}
</option>
</select>
vm.data.optionsおよびvm.data.selectedは使用しないでください。 Vueがインスタンスを作成すると、データプロパティはメインオブジェクトのgetterおよびsetterとして設定されるため、vm.optionsおよびvm.selectedになります。また、console.logを実行している時点では何も選択されていません。あなたは別の場所でconsole.logを実行する必要があります。 – OwChallie
@OwChallie私に例を教えてもらえますか?私は理解していません – userpr