所以我正在尝试评估 AngularJS,因为我认为它很有趣,但是它与我一直使用的 BackboneJS 完全不同。作为这次评估的一部分,我想从我现有的 Backbone 应用程序中提取几页,并尝试将它们移植到 AngularJS。所以我有以下html布局:
<html>
<head>
</head>
<body>
<div class="page-wrapper">
<div class="header-wrap">
<ul>
<li><a href="#">Ryan Zec</a></li>
<li><a href="#">Admin</a></li>
<li><a href="#">Logout</a></li>
</ul>
</div>
<div class="content-wrap">
<form>
<input type="text" name="username" value="" />
<input type="password" name="password" value="" />
<input type="button" value="Login" />
</form>
</div>
<div class="footer-wrap">
<span>Copyright © 2012 - Ryan Zec
</div>
</div>
</body>
</html>
现在在主干中,我会让带有 -wrap 类的 div 为空,并且每个部分的内容都将放在单独的模板中(并且每个部分可能有多个可能显示在其中的模板)。然后将有一个与每个模板关联的视图,以附加到正确的元素并在其中显示模板的内容。
现在使用 AngularJS,不鼓励在除指令之外的任何地方直接进行 DOM 操作。所以我想知道在 AngularJS 中进行与 BackboneJS 相同的设置的最佳方法是什么,记住这些部分的内容需要根据他们正在查看的页面/url 切换为不同的内容?(我知道我可以将 ng-directive-name 添加到 div 以便在初始加载时正确加载,但是如何在单页应用程序中切换页面时让它重新加载到不同的数据)。