TypeError: AnimationBuilder не является функциейJavascript

Форум по Javascript
Ответить
Anonymous
 TypeError: AnimationBuilder не является функцией

Сообщение Anonymous »

Итак, вся ошибка в следующем:

Код: Выделить всё

@ionic_vue.js?v=bbc2dfce:18984 TypeError: animationBuilder is not a function at animation (chunk-YNRD7USV.js?v=bbc2dfce:838:17)
Я знаю, что могу отключить всю анимацию, используя следующее, и она устраняет ошибку, но я хотел бы отключить только конкретные маршруты или конкретные функции, а не весь маршрутизатор. Когда я использую его таким образом, у меня не возникает никаких проблем.

Код: Выделить всё

import { useIonRouter } from '@ionic/vue';

const ionRouter = useIonRouter();

function clickLink() {
ionRouter.push(url.value);
}
У меня возникла проблема, когда я поместил его в другой файл TypeScript.

Код: Выделить всё

export function useCustomRouter() {
const router = useIonRouter();
const { activeOrganizationId } = useDaily();

async function push(path: any) {
try{
await router.push(path, 'forward');
} catch (e) {
//console.error(e);
}
}

async function back() {
try{
await router.back('none');
} catch (e) {
//console.error(e);
}
}

async function goHome() {
try{
await router.push(`/${activeOrganizationId.value}/app/my-day`, 'forward');
} catch (e) {
//console.error(e);
}
}

return {
push,
back,
goHome,
};
}
< /code>
, а затем используйте его. < /p>

import { useCustomRouter } from '~/composables/useCustomRouter';

const router = useCustomRouter();

function clickLink() {
router.push(url.value)
}
< /code>
Я получаю проблему анимации в консоли, и единственное исправление, которое я нашел, помимо установки анимированного: false использует ноаанимацию, как вы можете видеть ниже: < /p>
import { type AnimationBuilder, createAnimation } from '@ionic/vue';

export function useCustomRouter() {
const noAnimation: AnimationBuilder = (baseEl, opts) => {
return createAnimation().addElement(baseEl).duration(0);
};

const router = useIonRouter();
const { activeOrganizationId } = useDaily();

async function push(path: any) {
try{
await router.push(path, noAnimation);
} catch (e) {
//console.error(e);
}
}

async function back() {
try{
await router.back(noAnimation);
} catch (e) {
//console.error(e);
}
}

async function goHome() {
try{
await router.push(`/${activeOrganizationId.value}/app/my-day`, 'forward');
} catch (e) {
//console.error(e);
}
}

return {
push,
back,
goHome,
};
}
Итак, нет ли более простого способа запретить использовать для этого анимацию как для нажатия, так и для возврата? Или есть другой способ убрать ошибку из консоли?

Подробнее здесь: https://stackoverflow.com/questions/793 ... a-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»