2016-06-30 9 views
0

На нескольких взглядах на мое приложение с ионными 2 и угловыми я использую некоторые ионные тосты на каждой странице. Эти тосты Сообщения одинаковы для каждой страницы.Поделитесь функцией между несколькими видами на ионные 2 angularjs 2

Можно ли определить эти сообщения в инъекционной службе или что-то, а не создавать одну и ту же функцию во всех файлах TS?

+0

вы должны абсолютно поставить общую функциональность в инъекционной службы. Это очень стандартный вариант использования услуг – Austin

ответ

4

Как @Austin говорит, вы должны поставить свою логику внутри injectable service:

import {Injectable} from "@angular/core"; 

@Injectable() 
export class ToastService { 
    constructor(...) { 
     // ... 
    } 

    showToast() { 
     //.... 
    } 
} 

Тогда просто включить его в ionicBootstrap вашего файла app.ts для того, чтобы гарантировать, что тот же экземпляр службы будет использоваться во всей заявке.

ionicBootstrap(MyApp, [ToastService], {}); 

И, наконец, вы можете использовать его в component вы хотите, выполнив:

import {Component} from '@angular/core'; 
import {ToastService} from './toastService'; 

@Component({ 
    templateUrl: 'build/test.html' 

}) 
export class TestPage { 
    constructor(private toastService: ToastService) { 
    // ... 
    } 

    showMessage() { 
     // Use the service to show the message 
     this.toastService.showToast(); 
    } 
} 
+0

Спасибо за помощь !!!! –

+0

Только вопрос: я попытался создать файл для инъекций с помощью i 'ionic g Injectable ToastService', но ошибка возврата IONIC CLI, говорящая о том, что Injectable не является функцией генератора. –

+0

«поставщик» - это тот, который вы ищете. – sebaferreras

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

  • Нет связанных вопросов^_^