ionic 2 Как использовать константу переменной declare в index.html?

Я создаю приложение для Android в ionic 2. Я объявляю переменную в теге скрипта в index.html. это постоянное значение, которое я хочу использовать в ионных 2 страницах и код провайдера. Я вставил свой код ниже. заранее спасибо...

index.html

    <html lang="en">
    <head>
      <title>Ionic</title>
      <meta charset="UTF-8">

      <link ios-href="build/css/app.ios.css" rel="stylesheet">
      <link md-href="build/css/app.md.css" rel="stylesheet">
      <link wp-href="build/css/app.wp.css" rel="stylesheet">  
    </head>
    <body>

      <ion-app></ion-app>

      <!-- cordova.js required for cordova apps -->
      <script src="cordova.js"></script>

      <script src="build/js/es6-shim.min.js"></script>
      <!-- Zone.js and Reflect-metadata  -->
      <script src="build/js/Reflect.js"></script>
      <script src="build/js/zone.js"></script>
      <!-- the bundle which is built from the app's source code -->
      <script src="build/js/app.bundle.js"></script>

    <script type=?"text/?javascript">?
       BASE_APP_URL="www.google.com";
    </script>?
    </body>
    </html>

пункт-details.ts

    import {Component} from '@angular/core';
    import {NavController, NavParams} from 'ionic-angular';
    @Component({
      templateUrl: 'build/pages/item-details/item-details.html'
    })
    export class ItemDetailsPage {
      selectedItem: any;

      constructor(public navCtrl: NavController, navParams: NavParams) {
                this.selectedItem = navParams.get('item');
                console.log(BASE_APP_URL);
         <!---it gives an error that name
          Error TS2304: Cannot find    name 'BASE_APP_URL'. -->                                 
          }
        }

javascript,angular,typescript,ionic-framework,ionic2,

2

Ответов: 1


0

Хотя лучший способ справиться с статическими настройками в приложении Ionic был бы одним из этих сообщений , вы можете заставить свой код работать:

  1. Включая скрипт с вашей переменной перед тем, <script src="build/js/app.bundle.js"></script>потому что именно там вы собираетесь его использовать.

  2. Объявление этой переменной как части windowобъекта неявно.

    <!-- Your variable -->
    <script type=?"text/?javascript">?
        window.BASE_APP_URL="www.google.com";
    </script>?
    
    <!-- the bundle which is built from the app's source code -->
    <script src="build/js/app.bundle.js"></script>

А затем в вашем коде:

import {Component} from '@angular/core';
import {NavController, NavParams} from 'ionic-angular';
@Component({
  templateUrl: 'build/pages/item-details/item-details.html'
})
export class ItemDetailsPage {
  selectedItem: any;

  constructor(public navCtrl: NavController, navParams: NavParams) {
    this.selectedItem = navParams.get('item');
    console.log(window.BASE_APP_URL);                    
  }
}

Тем не менее, я по-прежнему рекомендую этот подход при обработке статических настроек в любом приложении Ionic 2.

JavaScript, угловая, машинопись, ионно-рамка, ionic2,
Похожие вопросы