web-dev-qa-db-fra.com

Angular JS et partiels

Est-il possible d'incorporer une page html dans une autre en angular js?

Dans l'affirmative, comment le faire?

Ici dans leur tutoriel, le partiel n'est pas intégré dans la page mais c'est comme une page différente où vous allez lorsque vous cliquez sur l'un des éléments. ( voir démo )

32
ParPar

Oui, vous pouvez le faire en utilisant la directive ngInclude .

Voir les documents et l'exemple ici: https://docs.angularjs.org/api/ng/directive/ngInclude

32
matys84pl

@Wilt a raison, mais voici un lien plus spécifique et un exemple de code (de https://github.com/angular-ui/ui-router/wiki/Quick-Reference#ui-view )

Dans votre modèle racine:

<div ui-view></div>
<div ui-view="chart"></div> 
<div ui-view="data"></div> 

Et dans votre fonction app.config

$stateProvider.state("home", {
    views: {
        "": {
            template: "<h1>Some HTML</h1>"
        },
        "chart": {
            templateUrl: "templates/chart.html"
        },
        "data": {
            template: "<data_thing/>"
        }
    }    
})
7
Tom Carchrae

Si ng-include n'est pas ce dont vous avez besoin, vous voudrez peut-être consulter le module angular-ui-router . Il vous permet de faire des vues imbriquées et parallèles ... Il est génial, flexible, facile à utiliser et bien documenté. https://github.com/angular-ui/ui-router

7
Wilt