J'ai une fonction qui aide à filtrer les données. J'utilise v-on:change
lorsqu'un utilisateur modifie la sélection, mais j'ai également besoin que la fonction soit appelée avant même que l'utilisateur sélectionne les données. J'ai fait la même chose avec AngularJS
l'utilisation précédente, ng-init
mais je comprends qu'il n'y a pas une telle directive dansvue.js
C'est ma fonction:
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)
});
}
Dans le blade
fichier, j'utilise des formulaires de lame pour effectuer les filtres:
<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>
Cela fonctionne bien lorsque je sélectionne un élément spécifique. Ensuite, si je clique sur tout all floors
, disons , cela fonctionne. Ce dont j'ai besoin, c'est lorsque la page est chargée, elle appelle la getUnits
méthode qui effectuera le $http.post
avec une entrée vide. Dans le backend, j'ai traité la demande de manière à ce que si l'entrée est vide, elle donnera toutes les données.
Comment puis-je faire cela vuejs2
?
Mon code: http://jsfiddle.net/q83bnLrx