我想要一个具有以下 View 的单页应用程序(AngularJS):
- 登录
- 主视图
现在主视图应该有不同的“元素”: - 工具栏 - 主要内容部 - 2 个侧边栏
我可以将所有这些元素作为 subview 处理吗?我希望为每个“元素”都有一个 .html 模板。
非常感谢!
最佳答案
不要拆分成两个基本 html。对于 Angularjs 应用程序来说,这不是一个好的设计,它会在运行测试用例(单元或端到端测试用例)时产生问题。
请看下面的代码。这里的“userLoggedIn”是一个 $rootscope 变量,用于根据身份验证加载必要的 block 。
<div ng-include="'views/common/loginHeader.html'" ng-show="!userLoggedIn"></div> <!-- loginHeader -->
<div ng-include="'views/common/userHeader.html'" ng-show="userLoggedIn"></div> <!-- userHeader -->
<div class="container" ng-view></div> <!-- body -->>
<div ng-include="'views/common/footer.html'"></div> <!-- footer -->
身份验证后,您可以为该变量设置 bool 标志或对象。
$rootScope.userLoggedIn= true
(或)
$rootScope.userLoggedIn= {"name":"john smith", "settings":[{}]}
在注销 Controller 中,您可以设置 false 来隐藏身份验证容器并重定向到登录页面。
$rootScope.userLoggedIn= false;
关于javascript - AngularJS 中元素的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26482227/