J'ai une fonction qui permet de filtrer les données. J'utilise v-on:change
lorsque l'utilisateur modifie la sélection, mais j'ai également besoin que la fonction soit appelée avant même que l'utilisateur ne sélectionne les données. J'ai fait la même chose avec AngularJS
en utilisant précédemment ng-init
mais je comprends qu'il n'y a pas une telle directive dans vue.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
J'utilise des formulaires en forme 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, disons all floors
cela fonctionne. Ce dont j'ai besoin, c'est que lorsque la page est chargée, elle appelle la fonction getUnits
qui exécutera la méthode $http.post
avec une entrée vide. Dans le backend, j'ai traité la requête de manière à ce que si l'entrée est vide, toutes les données soient données.
Comment puis-je faire cela dans vuejs2
?
Mon code : http://jsfiddle.net/q83bnLrx