Tôi có một chức năng giúp lọc dữ liệu. Tôi đang sử dụng v-on:changekhi người dùng thay đổi lựa chọn nhưng tôi cũng cần hàm được gọi ngay cả trước khi người dùng chọn dữ liệu. Tôi đã làm tương tự với AngularJSviệc sử dụng trước đó ng-initnhưng tôi hiểu rằng không có chỉ thị nào như vậy trongvue.js
Đây là chức năng của tôi:
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)
});
}
Trong bladetệp, tôi sử dụng các biểu mẫu phiến để thực hiện các bộ lọc:
<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>
Điều này hoạt động tốt khi tôi chọn một mục cụ thể. Sau đó, nếu tôi nhấp vào tất cả cho phép all floors, nó hoạt động. Những gì tôi cần là khi trang được tải, nó sẽ gọi getUnitsphương thức sẽ thực hiện $http.postvới đầu vào trống. Trong phần phụ trợ, tôi đã xử lý yêu cầu theo cách mà nếu đầu vào trống, nó sẽ cung cấp tất cả dữ liệu.
Làm thế nào tôi có thể làm điều này trong vuejs2?
Mã của tôi: http://jsfiddle.net/q83bnLrx