混合“app控制器”和ng-view

时间:2014-02-12 17:59:26

标签: javascript angularjs

我在这里发布了这个问题:
https://codereview.stackexchange.com/questions/41521/mixing-an-app-controller-and-ng-view
根据包裹的建议。

在Angular中做这样的事情有什么不妥吗?

<body ng-controller="appCtrl">
   <div ng-show="!loggedIn">
     <form ng-submit="login()">...</form>
   </div>
   <div ng-show="loggedIn">
       <div ng-view></div>
   </div>
</body>

我现在正在项目中使用它。 AppCtrl用于控制导航中的活动页面(使用Bootstrap的导航栏),当用户未获得授权时,它会处理显示登录表单,或者在显示内容时显示内容...

我可以看到它是如何沮丧的,因为我相信你可能在AppCtrl控制器和控制器之间发生冲突,目前负责&#34;负责&#34; ng-view ...当然,我小心翼翼地不这样做,但我想知道是否有其他充分的理由不这样做,以及人们可能会建议作为另一种选择。 。

我希望答案是&#34;否&#34;因为它对我来说很漂亮! =)

1 个答案:

答案 0 :(得分:1)

检查此身份验证service,这是一种干净地处理身份验证的方法。

另外,最好使用ng-switch而不是ng-show / ng-hide:

  • ng-show和ng-hide - 如果您只需要显示或隐藏某些内容(修改CSS),请使用
  • ng-switch - 使用而不是使用几个互斥的ng-shows(修改DOM)

因此,用户只需更改一个css属性并访问未经授权的内容即可....

我希望这回答了你的问题(不幸的是答案是肯定的)