У меня есть функция, которая помогает фильтровать данные. Я использую v-on:change
, когда пользователь меняет выбор, но мне также нужна функция, которая будет вызываться еще до того, как пользователь выберет данные. Я сделал то же самое с AngularJS
ранее с помощью ng-init
, но я понимаю, что нет такой директивы в vue.js
Как вызвать функцию 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
?
Моего код: http://jsfiddle.net/q83bnLrx
Я попытался крючки, но ни один не работает –
@PhillisPeters вы можете положить больше кода, или создать скрипка. – Saurabh
Вот мой полный код https://jsfiddle.net/q83bnLrx/ –