ฉันมีฟังก์ชันที่ช่วยกรองข้อมูล ฉันกำลังใช้v-on:change
เมื่อผู้ใช้เปลี่ยนการเลือก แต่ฉันยังต้องการฟังก์ชันที่จะเรียกใช้ก่อนที่ผู้ใช้จะเลือกข้อมูล ฉันได้ทำเช่นเดียวกันกับการAngularJS
ใช้งานก่อนหน้านี้ng-init
แต่ฉันเข้าใจว่าไม่มีคำสั่งดังกล่าวในvue.js
นี่คือหน้าที่ของฉัน:
getUnits: function () {
var input = {block: this.block, floor: this.floor, unit_type: this.unit_type, status: this.status};
this.$http.post('/admin/units', input).then(function (response) {
console.log(response.data);
this.units = response.data;
}, function (response) {
console.log(response)
});
}
ในblade
ไฟล์ฉันใช้แบบฟอร์มใบมีดเพื่อดำเนินการตัวกรอง:
<div class="large-2 columns">
{!! Form::select('floor', $floors,null, ['class'=>'form-control', 'placeholder'=>'All Floors', 'v-model'=>'floor', 'v-on:change'=>'getUnits()' ]) !!}
</div>
<div class="large-3 columns">
{!! Form::select('unit_type', $unit_types,null, ['class'=>'form-control', 'placeholder'=>'All Unit Types', 'v-model'=>'unit_type', 'v-on:change'=>'getUnits()' ]) !!}
</div>
วิธีนี้ใช้ได้ดีเมื่อฉันเลือกรายการใดรายการหนึ่ง จากนั้นถ้าฉันคลิกที่ทั้งหมดให้พูดall floors
มันได้ผล สิ่งที่ฉันต้องการคือเมื่อโหลดเพจมันจะเรียกใช้getUnits
เมธอดซึ่งจะดำเนินการ$http.post
กับอินพุตว่าง ในแบ็กเอนด์ฉันได้จัดการคำขอในลักษณะที่หากอินพุตว่างเปล่าจะให้ข้อมูลทั้งหมด
ฉันจะทำสิ่งนี้ได้vuejs2
อย่างไร?
รหัสของฉัน: http://jsfiddle.net/q83bnLrx