2016-09-11 18 views
6

Pracuję na stronie internetowej, która ma niewielkie różne funkcje w zależności od wersji desktop/mobile.Angular 2 różne widoki oparte na Desktop lub Mobile

Próbowałem zastosować go przez @View, ale wygląda na to, że ten dekorator jest już przestarzały. Proszę mi doradzić najlepszą praktykę, jak wdrożyć tę funkcję kątowego 2.

Odpowiedz

4

Pakiet ng2-responsive powinna zasłonić potrzeby: https://www.npmjs.com/package/ng2-responsive

Nie używałem go jeszcze intensywnie, ale wydaje się, że wykonuje przyzwoitą pracę.

@View został scalony w @Component (przed wiekami). @Component powinien być jedynym dekoratorem, którego potrzebujesz.

2

W tej chwili najlepiej zastąpić @View dekorator używa *ngIf takiego:

<div *ngIf="isMobile"> 
    modile stuff 
</div> 
<div *ngIf="!isMobile"> 
    desktop stuff 
</div> 
4
@Component({ 
    selector: 'my-component', 
    templateUrl: "./" + (window.screen.width > 900 ? 
        "my-component.desktop.html" : 
        "my-component.mobile.html"), 
    styleUrls: ['./my-component.css'] 
}) 
+0

Angular2 wykorzystuje server-side rendering, więc to nie będzie działać, ponieważ dekorator @Component nie będą mieli dostępu do okna https://juristr.com/blog/2016/09/ng2-get-window -ref / – hugostacks