我有一个带有主要 index.html 的 webapp,它通过 ng-view 和 routeProvider 显示每个页面。
现在我正在为尚未登录的用户添加一个入口页面。这个页面也可以有他自己的 ng-view 来为未登录的用户滑动不同的部分(欢迎,什么是,登录,注册 ecc... ) 和他自己的头用 css 脚本 ecc ...
我宁愿 webapp 索引和入口页面索引地址都指向 www.example.com (所以不像 www.example.com/welcome )。
我想到了一个类似这样的结构:
- 网页应用/
- 主要的/
- 第1页/
- 第2页/
- 欢迎/
- 第1节/
- 第2节/
- 索引.html
- Welcome.js(入口页面的 Angular 模块)
- .htaccess
- 索引.html
- webapp.js(包含 webapp 的 routeProvider 的 Angular 模块)
目前我有那个 .htaccess 将所有虚假查询重写为 index.html 以便在这里处理所有内容。
所以特别是:
1)如果我已经对webapp主页使用了这个条件,我怎么能告诉webapp.js的routerProvider在用户没有登录时去/welcome/index.html?(我应该使用 run 方法吗?一个简短的例子会有所帮助)
.config(['$routeProvider', function($routeProvider){
$routeProvider
.when(...)
.when('/', {
templateUrl : 'main/webapp-main.html'
})
.when(...)
2) 如何防止welcome/index.html 中的所有内容都加载到index.html ng-view 中?(也许使用 ng-if 来隐藏 ng-view?或者有什么方法可以通过 routerProvider 来控制这种行为?)
3)有更好更简单的方法来实现这一切吗?
谢谢。
更新:
好的,我认为我的问题存在潜在问题......我不能使用完全不同的页面,因为所有内容都已加载并切换到另一个页面会导致应用程序重新加载丢失所有数据。所以我想我应该为整个网站使用相同的主模板。
然后我补充说:angularjs中有一种方法可以动态加载不同的样式表吗?