Tôi có một chức năng giúp lọc dữ liệu. Tôi đang sử dụng v-on:change
khi 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 AngularJS
việc sử dụng trước đó ng-init
như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 blade
tệ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 getUnits
phương thức sẽ thực hiện $http.post
vớ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