ui-router Pourquoi parent les états doivent être abstrait

Pourquoi parent vues doivent être résumé dans le but d'avoir des enfants views (vues imbriquées) rendu?

$stateProvider
            .state('A', {url: '/A', abstract: true, templateUrl: 'views/A.html'})
            .state('A.B', {url: '', abstract: true, templateUrl: 'views/B.html'})
            .state('A.B.C', {url:'', abstract:false, templateUrl:'views/C.html'});

La vue parent " A " est hébergé dans home.html comme suit:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Yomingo</title>
    <link href="lib/bootstrap/css/bootstrap.css" rel="stylesheet"/>
    <link href="lib/bootstrap/css/bootstrap-responsive.css" rel="stylesheet"/>
</head>
<body>
    <div ui-view>
    </div>
<script type="text/javascript" data-main="scripts/main" src="lib/require/require.js"></script>
</body>
</html>

Si l'un des parents etats 'A' ou 'B' est marqué comme abstract=false de l'interface utilisateur-pour afficher le contenu n'est pas rendu.

Supposons que votre page d'application est home.html et que le parent de la vue d'Un modèle est vraiment à l'views/A.html... vous devriez partager views/A.html et views/B.html ainsi, nous pouvons voir comment l'enfant vues sont placés dans les parent points de vue.

OriginalL'auteur Mihai H | 2013-05-03