1

I 2 mit Winkel NG2-Material bin mit Radio und Checkbox Komponenten anzuzeigen, in jeder Komponente I zu sehen, daß ich all NG2-Materialinhalt und schließlich unter Verwendung von nur eine KomponenteAngular2 + NG2-Material import

importieren

=> das Ergebnis, es lädt meine App und macht es langsamer.

Ich möchte wissen, ob ich nur die Komponente importieren darf, die ich brauche, obwohl in der ng2-Material-Dokumentation alle importiert werden ???

import {Component} from 'angular2/core'; 
import {bootstrap} from 'angular2/platform/browser'; 

import {MATERIAL_DIRECTIVES, MATERIAL_PROVIDERS} from "ng2-material/all"; <<<<< 

import {ROUTER_DIRECTIVES} from 'angular2/router'; 
import { CORE_DIRECTIVES, FORM_DIRECTIVES } from 'angular2/common'; 

@Component({ 
    selector: 'radiobox', 
    templateUrl: '/radiobox.html', 
    styleUrls: ['radiobox.css'], 
    directives: [MATERIAL_DIRECTIVES] <<<<<< 

Antwort

1

Nach der all.ts Datei verwenden können, können Sie jede Komponente von einem eigenen Modul importieren. Diese Datei erstellt einfach export * from und erstellt einige Konstanten.

Hier sind einige Inhalte dieser file:

import {MdAnchor, MdButton} from "./components/button/button"; 
import {MdCheckbox} from "./components/checkbox/checkbox"; 
import {MdContent} from "./components/content/content"; 
import {MdDataTable, MdDataTableHeaderSelectableRow, MdDataTableSelectableRow} from './components/data_table/data_table'; 
import {MdDialog} from "./components/dialog/dialog"; 
import {MdDivider} from "./components/divider/divider"; 
import {MdIcon} from "./components/icon/icon"; 
import {MdInk} from "./components/ink/ink"; 
import { 
    MdPatternValidator, 
    MdMaxLengthValidator, 
    MdMinValueValidator, 
    MdMaxValueValidator, 
    MdNumberRequiredValidator, 
    INPUT_VALIDATORS 
} from "./components/form/validators"; 
import {MdMessage, MdMessages} from "./components/form/messages"; 
import {MdInput, MdInputContainer} from "./components/input/input"; 
import {MdList, MdListItem} from "./components/list/list"; 
import {MdProgressLinear} from "./components/progress_linear/progress_linear"; 
import {MdProgressCircular} from "./components/progress_circular/progress_circular"; 
import {MdPeekaboo} from "./components/peekaboo/peekaboo"; 
import {MdRadioButton, MdRadioGroup} from "./components/radio/radio_button"; 
import {MdRadioDispatcher} from "./components/radio/radio_dispatcher"; 
import {MdSwitch} from "./components/switcher/switch"; 
import {MdSubheader} from "./components/subheader/subheader"; 
import {MdSidenav, MdSidenavContainer} from "./components/sidenav/sidenav"; 
import {SidenavService} from "./components/sidenav/sidenav_service"; 
import {MdToolbar} from "./components/toolbar/toolbar"; 
import {MdTabs, MdTab} from "./components/tabs/tabs"; 
import {Media} from "./core/util/media"; 
export * from './components/button/button'; 

Zum Beispiel, wenn Ihr Radio-Buttons nur verwenden möchten:

import { 
    MdRadioButton, MdRadioGroup 
} from "ng2-material/components/radio/radio_button"; 

die gleiche Datei für Konstanten Siehe: https://github.com/justindujardin/ng2-material/blob/master/ng2-material/all.ts#L85.

+0

Ja, das kann helfen, trotz der Verpflichtung, MATERIAL_DIRECTIVES (alle) in der Boot.ts, einschließlich ein oder zwei Composant zu importieren generieren einen Konflikt von Abhängigkeiten und Providern, und als Folge in der ersten öffnenden App, alle Bibliothek wird leider genannt, aber in allen Bereichen hat mir das geholfen, vielen Dank – firasKoubaa

0

@firasKoubaa denke ich, Sie so etwas wie dieses import {MdList, MdListItem, MdContent, MdButton} from 'ng2-material/all'; oder irgendeine Sache wie diese import {MdButton} from "/ng2-material/components/button/button";