2016-07-12 13 views
3

エクスポートされたメンバーionicBootstrapがありません。"ionicBootstrapがエクスポートされていません"(ionic2 Typescript)

ionicbootstrapをionic-angular 2.0.0-beta.8に導入しました。しかし私は2.0.0-beta.32にアップグレードしましたが、エラーはまだ残っています。何ができますか?

+0

あなたはこれを次のようにインポートしていますか? 'ionic-angular'からの 'import {ionicBootstrap}; – sebaferreras

+0

はい、 'ionic-angle'から 'import {ionicBootstrap、Platform、MenuController、Nav}; –

+0

CLIで' ionic info'を実行した結果を回答に追加できますか? – sebaferreras

答えて

1

この問題もありました。 2つの入力ioniccordova-ionicが古いと判明しました。私は同じ問題がなかったかどうかを見るためにスターターをインストールしました。スタータープロジェクトには入力がなかったので、私はそれらを削除してtypings pruneを実行しました。私のプロジェクトが再構築された後、エラーはなくなりました。入力はnpmからionic-angularパッケージに含まれているようです。

また、スクリーンショットから投稿した内容は、まだ2.0.0-beta.7のようです。試してみてくださいnpm install --save @2.0.0-beta.8

+0

ありがとう!私が 'npm install --save @ 2.0.0-beta.8'を試したとき、私はエラーが発生しました。この権利: 'npm install angular2 @ 2.0.0-beta.8' –

3

私はイオンと角が新ですが、私はこのプロバイダの問題を理解したと思います。私はこの記事を読んで、Ionic2アプリでページ間の情報共有を可能にするLocalStateプロバイダを作っていました。 http://www.joshmorony.com/an-in-depth-explanation-of-providers-in-ionic-2/

この質問に記載されているイオンブートストラップの問題が発生しました。この情報源によると、「あなたはrc0以来、もうionicBootstrapは必要ありません。 https://forum.ionicframework.com/t/no-exported-member-ionicbootstrap/66721

私はapp.module.tsに以下を追加

ionic g provider LocalState 

とプロバイダを作成しました:app.component.tsで

import { LocalState } from '../providers/local-state'; 

... 

@NgModule({ 
    declarations: [ 
    MyApp, 
    Page1, 
    Page2 
    ], 
    imports: [ 
    IonicModule.forRoot(MyApp) 
    ], 
    bootstrap: [IonicApp], 
    entryComponents: [ 
    MyApp, 
    Page1, 
    Page2 
    ], 
    providers: [ 
    LocalState 
    ] 
}) 

と、各ページの.TSファイルで、I追加:

import { LocalState } from '../providers/local-state'; 

そして、LocalStateをコンストラクタに追加しました。

constructor(public platform: Platform, public localState: LocalState) 

私はその後でページの.htmlのファイルにLocalStateのメンバーを読むことができる:私は、ページの.TSファイル内のメソッドでLocalStateメンバーを更新する可能性が

{{localState.<insert member name>}} 

。テストのために私はlocalState.setMember()を1ページのコンストラクタに呼び出し、他のページは更新された値を読み取ることができました。

+0

あなたはそのサービスをどれくらいの頻度でどれくらい頻繁に使用しているかによって異なります。私はそれを示唆しないだろうが、あなたが回避策を見つけ出した大きな小道具、私はまだ修正を見つけていない:(: "あなたが選んだ2つのうちのどれが大きな問題になるかもしれない。アプリケーションのすべてのコンポーネントが共有するサービスの単一のインスタンスが作成され、コンポーネント間でデータを共有するのに最適な方法です。個々のコンポーネントにプロバイダを追加すると、そのインスタンスだけが新しいインスタンスが作成されます成分。" – webdevinci

関連する問題