Конфликт между типизацией в Framework7 и Vue

Документы Framework7 говорят:

// First of all, we need to initialize/enable Framework7 Vue plugin:
// We need to pass Framework7Vue plugin and Framework7 as an arguments to Vue.use method
Vue.use(Framework7Vue, Framework7);

и по крайней мере в одном месте, указывая, что экспорт по умолчанию 'framework7' (здесь, Framework7) является функцией или классом конструктора, а не объектом:

Автоматически после new Framework7()...

И документы Vue говорят:

Vue.use (плагин)

Аргументы: {Объект | Функция} плагин

Использование: Установите плагин Vue.js. Если плагин является объектом, он должен предоставлять метод установки. Если это сама функция, она будет рассматриваться как метод установки. Метод установки будет вызван с аргументом Vue.

Когда этот метод вызывается для одного и того же плагина несколько раз, он будет установлен только один раз.

И определения типа vue.d.ts говорят:

use<T>(plugin: PluginObject<T> | PluginFunction<T>, options?: T): void;

Это означает, что следующая версия будет типизированной версией:

import Vue from 'vue'
import Framework7 from 'framework7'
import Framework7Vue from 'framework7-vue'

Vue.use<Framework7>(Framework7Vue, Framework7); // only adding the type parameter, which eventually might not be necessary once the rest is correct

Нетипизированная версия, кажется, работает правильно, но я не могу найти правильные определения Typescript для Framework7 - возможно, центральное место в Framework7 значение аргумента для .use(), Экспорт по умолчанию 'framework7' не может быть одновременно функцией конструктора И самим экземпляром, но я думаю, что так и должно быть, если все эти документы верны. Я не могу понять, где расхождение.

Моя работа в этих репозиториях:

Я мог бы подозревать vue.d.ts, так как оба new Framework7() в другом месте и мимоходом Framework7 как пример, options Возражать .use() Работа. Являются ли определения vue.d.ts неправильными в том, что они также принимают функцию или конструктор? Но у меня слишком много возможностей, чтобы рассуждать - я надеюсь, что кто-то, более знакомый с vue.js и / или framework7, сможет распутать это для меня.

0 ответов

Другие вопросы по тегам