169 похожих чатов

Подскажите, пожалуйста, как подключить собственный скрипт, что бы он был

доступен из всех компонентов?

К каждому компоненту подключаю так:
// lib.ts
export function Age(dateString: string): number{...}

// myComponent.vue
<script lang="ts">
import * as Lib from '@/scripts/lib';
...
Lib.Age(dateString);

21 ответов

11 просмотров

import * as Lib from '@/scripts/lib'; Vue.prototype.$lib = Lib; ... this.$lib.Age(dateString); Я так делаю

Daria-Shuleko Автор вопроса
Алексей
import * as Lib from '@/scripts/lib'; Vue.prototyp...

Огромное спасибо, чудесно!

Daria Shuleko
Огромное спасибо, чудесно!

Пользуйтесь на здоровье)

Daria Shuleko
Огромное спасибо, чудесно!

А чем Vue.use не подошёл? Для чего расширять протипы или, того хуже, миксины использовать?

Daria-Shuleko Автор вопроса
Алексей Магнер
А чем Vue.use не подошёл? Для чего расширять проти...

Насколько я поняла, он требует особой организации подключаемого файла

Daria Shuleko
Насколько я поняла, он требует особой организации ...

Да, Vue.use - это просто унифицированный способ подключать модули к Vue, которые внутри будут делать всё тоже самое

Daria-Shuleko Автор вопроса
Алексей
import * as Lib from '@/scripts/lib'; Vue.prototyp...

Ругается в компоненте: Property '$lib' does not exist on type 'CombinedVueInstance<Vue, {....

Daria Shuleko
Ругается в компоненте: Property '$lib' does not ex...

Особенности типизации тайпскрипта, полагаю. Тут я вам не помогу. Мои познания тайпскрипта - он существует)

Daria Shuleko
Ругается в компоненте: Property '$lib' does not ex...

В документации есть ответ - https://ru.vuejs.org/v2/guide/typescript.html#%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B5-%D1%82%D0%B8%D0%BF%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D1%81-%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8

Daria-Shuleko Автор вопроса

Вдруг кому пригодится для подключения во Vue s TS: // lib.ts export function myFunc(q: string): string{ return "сорок два"; } // main.ts ... import * as lib from '@/scripts/lib'; declare module 'vue/types/vue' { interface Vue { $lib: any; // any тут не идеально, но ничего лучше не придумала, object оно не хочет } } Vue.prototype.$lib = lib; // где-то в компоненте const foo = this.$lib.myFunc("Why?");

Daria Shuleko
Вдруг кому пригодится для подключения во Vue s TS:...

Хорошая функция. Возвращает номер моей квартиры, а по совместительству - смысл жизни, вселенной... Ну ты понял)

Daria Shuleko
Вдруг кому пригодится для подключения во Vue s TS:...

А можно же оформить либу объектом, определить интерфейс, класс и всё такое и вместо any указать? Не силён в ТС, не кидайтесь тапками, если фигню несу)

Daria-Shuleko Автор вопроса
Daria Shuleko
Наверное можно, только я пока не умею ^_^

declare module 'vue/types/vue' { interface Vue { $lib: {myfunc: (q: string) => string;} // Вот так правильно типизировать ваш инжект } }

Daria-Shuleko Автор вопроса
Daria-Shuleko Автор вопроса
Bogdan Tretyakov
declare module 'vue/types/vue' { interface Vue {...

Но как быть если там десятки функций? Неудобно же.

Daria Shuleko
Но как быть если там десятки функций? Неудобно же.

Там смысл в том, что указывается не тип, а сам объект. Vue.prototype.$lib = Lib; в этом случае не нужно. В документации есть такой пример.

Daria-Shuleko Автор вопроса
Алексей
Там смысл в том, что указывается не тип, а сам объ...

Не работает оно так: import * as slLibrary from '@/scripts/slLibrary'; declare module 'vue/types/vue' { interface Vue { $slLib: slLibrary; }} // Cannot use namespace 'slLibrary' as a type.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта