UI-Router и Angularjs: основной контент не отображается

0

index.html:

<body>
    <div ui-view="header"></div>
    <div ui-view></div>
    <div ui-view="footer"></div>
    <div id="footer" class="container" />
</body>

app.js:

.state('root', {
    url: '',
    abstract: true,
    views: {
        'header': {
            templateUrl: 'views/header.html',
            controller: 'HeaderCtrl'
        },
        'footer': {
            templateUrl: 'views/footer.html'
        }
    },
    data: {
        requiresLogin: true
    }
}).state('root.home', {
    url: '/',
    views: {
        '@': {
            templateUrl: 'views/home.html',
            controller: 'HomeCtrl'
        }
    },
    data: {
        requiresLogin: true
    }
})

Поэтому у меня есть верхний и нижний колонтитулы, которые вызываются и отображаются на экране, но по какой-то причине мой home.html не отображается. На данный момент home.html просто включает в себя заголовок h1 в "Home". Кажется, что пространство создается для контента, но оно просто не показывает его.

Теги:
angular-ui-router

1 ответ

1
Лучший ответ

Попробуйте это

.state('root', {
    url: '',
    abstract: true,
    views: {
        'header': {
            templateUrl: 'views/header.html',
            controller: 'HeaderCtrl'
        },
        'main': {
            template: '<div>This is default main content placeholder</div>'
         },
        'footer': {
            templateUrl: 'views/footer.html'
        }
    },
    data: {
        requiresLogin: true
    }
}).state('root.home', {
    url: '/',
    views: {
        'main@': {
            templateUrl: 'views/home.html',
            controller: 'HomeCtrl'
        }
    },
    data: {
        requiresLogin: true
    }
})

и в index.html:

<body>
    <div ui-view="header"></div>
    <div ui-view="main"></div>
    <div ui-view="footer"></div>
    <div id="footer" class="container" />
</body>
  • 0
    Я попробовал это, все еще не работает ... Я не могу понять, в чем проблема.
  • 0
    Видимо, так и было - проблема была в том, что у моего заголовка есть боковая панель, которая блокирует мой основной контент ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню