【发布时间】:2015-08-02 14:51:14
【问题描述】:
我的申请中有 4 个页面:
- login.html:全身登录页面。
- base.html:只是简单的页面包含 ui-view 标签,仅用于容纳其他视图。
- main.html:包含菜单页眉页脚
- 仪表板:包含一些面板图表等
以下是我声明路线的方式:
$stateProvider
.state('base', {
abstract: true,
templateUrl: 'tpl/base.html'
})
.state('base.main', {
abstract: true,
templateUrl: 'tpl/main-layout.html',
})
.state('base.login', {
url: '/login',
templateUrl: 'views/login.html',
data: {
pageTitle: 'Login',
pageSubTitle: '',
}
})
// Dashboard
.state('base.main.dashboard', {
url: "/dashboard",
templateUrl: "views/dashboard.html",
data: {
pageTitle: 'Dashboard',
pageSubTitle: ''
}
})
问题是这些状态运行良好;我可以切换到任何页面,但是在登录页面中我使用了 jQuery backstretch 插件在后台显示一些图像。
所以当我从登录切换到其他路由(例如仪表板)时,其他状态页面显示正常,但仍然应用登录的背景图像。如果我刷新页面,则只删除该图像,并显示仪表板的原始背景(原始背景只是 main-layout.html 中定义的灰色)
有人可以解释为什么登录背景在单独的页面上仍然可见吗?
【问题讨论】:
-
您说的是 jquery backstretch 插件,但您没有提到您是如何使用该插件的。也为此添加代码。
-
你的问题几乎毫无疑问与 jQuery 插件有关......如果你要做任何操纵 DOM 的事情(听起来像这样),它应该在指令中完成,很多很多 jQuery 的东西已经被封装到 jQuery/Angular 指令中,你可以将它们作为依赖项放入 add 并使用,但是如果不存在这个构建它们并不是超级困难(了解 angular DDO 是,但你不不需要完全理解才能让它工作)。 github.com/rprovost/ng-backstretch(谷歌角度回弹)
-
jquery backstretch 像这样在登录视图中使用
标签: jquery html css angularjs angular-ui-router