我有一个有助于过滤数据的功能。我在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
?
请注意,当在
mounted
组件上触发事件时,尚未替换所有Vue组件,因此DOM可能不是最终的。要真正模拟DOM
onload
事件,即在DOM准备就绪后但在绘制页面之前触发,请从内部使用vm。$ nextTickmounted
: