Tengo una función que ayuda a filtrar datos. Estoy usando v-on:change
cuando un usuario cambia la selección, pero también necesito que se llame a la función incluso antes de que el usuario seleccione los datos. He hecho lo mismo con el AngularJS
uso anterior, ng-init
pero entiendo que no existe tal directiva envue.js
Esta es mi función:
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)
});
}
En el blade
archivo utilizo formularios de hoja para realizar los filtros:
<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>
Esto funciona bien cuando selecciono un elemento específico. Entonces, si hago clic en todos all floors
, digamos , funciona. Lo que necesito es cuando se carga la página, llama al getUnits
método que realizará la $http.post
entrada vacía. En el backend, he manejado la solicitud de una manera que si la entrada está vacía, dará todos los datos.
¿Cómo puedo hacer esto vuejs2
?
Mi código: http://jsfiddle.net/q83bnLrx