Если вы используете функции стрелок ES6 с методами Vue, это меняет контекст this
. Если вы сформулируете это как:
Vue.mixin({
methods: {
functionOne () {
console.log(1)
},
functionTwo: function () {
this.functionOne()
}
},
mounted () {
this.functionTwo()
}
})
, это работает отлично.
(синтаксис functionOne ()
и functionTwo: function ()
оба действительны, поэтому они оба появляются в примере.)
Попробуйте следующее:
$("#spinner")
.bind("ajaxSend", function() {
$(this).fadeIn(1000);
})
.bind("ajaxComplete", function(){
$(this).stop();
$(this).hide();
});
Идея состоит в том, что Вы постепенно появляетесь счетчик с задержкой (в этом случае 1000) и отменяете анимацию и скрываетесь на ajaxComplete.
Если Вы хотите сделать отложенное шоу, Вы могли бы экспериментировать с использованием анимационного (), а не исчезнуть () и объединение в цепочку вызовов (например, $ (этот) .animate (/* что-то здесь */). покажите ()),
Надеюсь, это поможет!
Хорошо на ранних стадиях проекта, который использует Ajax с индикаторами хода выполнения, конечно, Вы будете иметь мигающий эффект, потому что Вы (надо надеяться), не работаете с огромным объемом данных, поскольку Вы тестируете. Вы найдете, поскольку Ваш проект получает все больше данных, индикатор хода выполнения останется дольше и останется дольше. Я не рекомендую намеренно создать задержку для хранения индикатора хода выполнения там, потому что он умалит пользовательский опыт. Попытайтесь играть вокруг с javascript setTimeout () функция.