2017-05-07 15 views
9

इम में जे एस फ़ाइल शामिल करने के लिए बाहरी जे एस फ़ाइल से एक चर जो मैं संपत्ति/डेटा फ़ोल्डर में शामिल पहुंचने का एक तरीका के लिए देख रहाकैसे आयनिक 3

नीचे

है क्या मैं

में रखा test.js की कोशिश की संपत्ति/डेटा फ़ोल्डर

test.js में

जोड़ा चर testvar = "heloo from external js";

src/index.html<script src="assets/data/test.js"></script>

app.component.ts में मैं आयात के बाद इस लाइन जोड़ा में स्क्रिप्ट टैग जोड़ा; त्रुटि ReferenceError: testvar

इसलिए परिभाषित नहीं है, कैसे मैं अपने js उपयोग कर सकते हैं declare var testvar: any;

निर्माता में

मूल्य console.log(testvar);

त्रुटि परिणाम है लॉग इन करने की इस लाइन जोड़ा टाइपस्क्रिप्ट में परिवर्तनीय?

उत्तर

11

यह समाधान के लिए ही मुझे

Put the import js in src/index.html header tag, before the build/polyfills.js and build/main.js (they are in body tag);

उदाहरण काम किया: मैं एक फ़ाइल src/assets/test.js बनाई गई एक var testvar साथ, src/index.html में आयातित और फिर src/app/app.component.ts में घोषित declare var testvar;

test.js

var testvar = "Hello from external js"; 

index.html

... 
    <link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico"> 
    <link rel="manifest" href="manifest.json"> 
    <meta name="theme-color" content="#4e8ef7"> 

    <!-- cordova.js required for cordova apps --> 
    <script src="cordova.js"></script> 
    <script src="assets/js/test.js"></script> //here, not in body 
... 

app.componet.ts

declare var testvar; 

@Component({ 
    templateUrl: 'app.html' 
}) 
export class MyApp { 
    @ViewChild(Nav) nav: Nav; 
    constructor(private statusbar : StatusBar, splashScreen: SplashScreen) { 
    alert(testvar); 
... 
1

index.html से निकालें और इस तरह इसका इस्तेमाल:

import from '../assets/data/test'; 
+0

त्रुटि चला गया है? लेकिन varibale कैसे उपयोग करें? – rashidnk

+0

console.log (testvar); अपरिभाषित – rashidnk

+0

परीक्षण अब var है, testvar – misha130

2

misha130 के जवाब पर विस्तार करने के लिए। आपको इसे उस फ़ाइल में आयात करने की आवश्यकता होगी जिसे आप चाहते हैं:

import * as test from '../assets/data/test' 

इस तरह आपके पास टेस्ट वैरिएबल तक पहुंच है।

console.log(test.testvar); 
संबंधित मुद्दे