Mam funkcję, która pomaga filtrować dane. Używam v-on:change
, gdy użytkownik zmienia zaznaczenie, ale potrzebuję również wywołania funkcji, zanim użytkownik wybierze dane. Zrobiłem to samo z AngularJS
uprzednio używając ng-init
ale rozumiem, że nie istnieje taka dyrektywa w vue.js
Jak wywołać funkcję vue.js podczas ładowania strony
To jest moja funkcja:
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)
});
}
W pliku blade
używam formy ostrzy do wykonywania filtrów :
<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>
Działa to dobrze, gdy wybiorę konkretną pozycję. Następnie, jeśli kliknę na wszystkie, powiedzmy all floors
, to działa. To, czego potrzebuję, to gdy strona jest ładowana, wywołuje metodę getUnits
, która będzie wykonywać $http.post
z pustym wejściem. W backendie obsłużyłem żądanie w taki sposób, że jeśli dane wejście jest puste, to dostarczy wszystkie dane.
Jak mogę to zrobić w vuejs2
?
mój kod: http://jsfiddle.net/q83bnLrx
Próbowałem haki, ale żaden pracuje –
@PhillisPeters można umieścić więcej kodu, lub utworzyć skrzypiące. – Saurabh
Oto mój pełny kod https://jsfiddle.net/q83bnLrx/ –