2016-12-11 2 views
-1

Допустим, у меня есть этот файл foo.js, где я объявил переменную, функцию и класс.Добавление внешнего javascript в проект Ionic 2

Пока нет проекта.

Предположим, что я хочу использовать эту переменную, класс и функцию в своем методе home.ts или просто сделать ее доступной по всему миру (для использования в методе home.ts).

Как это сделать?

ответ

0

позволяет сказать, что в вашем файле foo.ts мы имеем Funtion

myfunt(){ 
//your logic goes here 
} 

теперь, если вы хотите использовать эту функцию в home.ts файл

step1: импортировать Foo .TS файл в home.ts

Step2: в вашем экспортном классе должен выглядеть следующим образом

export class home extends foo { 
//since you have used extends keyword now you unlocked all the data in foo.ts file for home.ts file 


     //here now try to access your myfunt() funtion 


     constructor(){ 

      super.myfunt(); //user super keyword to access all the data available in foo.ts file 
     } 

    } 
+0

Он имеет в виду foo.js, тогда в этом случае .. –

+0

нормально есть угловая можно записать также в равнину Javascript я только что показал ему пример вы можете сделать ваш что вам нужно, используя этот @SurajRao –

+0

Я не могу гарантировать, что этот файл содержит выписки со счета –

0

Вы можете использовать файлы определений (.d.ts).

Сначала проверьте, есть ли файл foo.js, созданный сообществом. Проверьте это здесь: http://microsoft.github.io/TypeSearch/ или здесь https://github.com/DefinitelyTyped/DefinitelyTyped

Если существует вы можете установить его так:

npm install --save @types/foo 

Если нет, то вы можете создать свой собственный файл описания для этого файла JavaScript.

Пусть называют это foo.d.ts с содержанием, как это:

declare var data:any; 
declare function myFunc(n:string); 

После того как вы его, вы можете использовать его как обычный файл «.ts».

import * as foo from "./foo"; //"./foo" is the path of your .d.ts. 
foo.myFunc() 

Более подробная информация здесь: https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

+0

эй, спасибо! где я могу разместить foo.d.ts? когда я 'импортирую * из' 'foo' Теперь я импортирую файл foo.d.ts? Я попробую его –

+0

Вы можете поместить foo.d.ts куда угодно, скажем, рядом с файлом foo.js. Если вы создали свой собственный .d.ts, импортируйте его с помощью пути, в который вы поместили его, как этот '' 'import *, как foo из. ./foo" '' '; Если вы установили через npm, вы можете импортировать его как '' 'import * в качестве foo из" foo "; '' ''. – jordins

+0

Я написал заявление declare в foo.d.ts, и он сказал: «foo.d.ts» не является модулем. », То я сделал« export declare var ... », и он прошел. Но когда я попытался прочитать что-то, что должно быть в нем (потому что это было в Foo в файле foo.js), он говорит: «Свойство« SomeProp »не существует в типе ...» –

Смежные вопросы