我有一个帮助筛选数据的函数。当用户更改选择时,我使用v-on:change
,但我还需要在用户选择数据之前调用该函数。以前我使用ng-init
在AngularJS
中完成相同操作,但我了解到在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
文件中,我使用 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>
当我选择特定项目时,这个功能很好用。如果我点击所有(比如所有楼层
),它也可以工作。我需要的是当页面加载后,调用getUnits
方法并执行带有空输入的$http.post
。在后端,我已经处理了请求,如果输入为空,它会返回所有数据。
我该如何在vuejs2
中实现这个?