使用angular,我的index.html设置如下。
<html><head>...</head>
<body ng-app="someappname">
<header>
<img src="images/hdr_logo.png" alt="...">
</header>
<main>
<!-- this is where the active view will be placed -->
<ui-view></ui-view>
</main>
</body></html>
我的ui-router设置如下。
$stateProvider
.state('index', {
templateUrl: 'index.html',
controller: 'IndexController',
abstract: true
})
.state('index.login', {
url: '/login',
templateUrl: 'partials/login.html',
controller: 'LoginController',
})
目前,我的login.html只有文字......只是看起来像这样。
This is my login page
但是,当我运行应用程序时,我看到我的标题徽标正在显示两次。经过进一步调查,我可以看到我的<ui-view></ui-view>
实际上再次包含整个index.html(以及文本)。所以index.html在ui-view中有另一个index.html副本。我的显示屏显示两次徽标,后跟文本“这是我的登录页面”。
为什么index.html包含在我的ui-view中,而不仅仅是部分?
答案 0 :(得分:1)
经过多次努力和麻烦,似乎问题与关键字abstract
在我使用的版本中无法正常运行有关。因为,无论我添加还是删除了abstract
,结果都是一样的。但是,在我升级了我的角度和ui-router版本之后...一切正常!!!