我的应用程序有 2 个目的:
- 它需要独立运行,需要路由来选择 学习等。
- 或者,它集成在其他项目中运行,并且只需要 一个 Controller 和一个 View 。
目前,我为独立应用程序配置了一个routeProvider,将页面注入(inject)HTML中的ng-view标记中。
现在是我的问题:如何在 ng-view 中注入(inject) Controller 和 View (用于集成)。我无法操作 HTML,因为它是静态的。我不能使用单个routeProvider规则,因为这可能会干扰集成我的应用程序(其他插件可以使用#/..来获取信息或其他内容)。
最佳答案
在您的情况下,当其他东西干扰时,您无法使用routeProvider。 当然,您可以通过解决方法阻止routeProvider对hashbang的外部更改进行操作,但这并不好。 RouteProvider会监听hashbang之后url的所有变化。 所以你应该做的是使用你需要的 Controller 手动 bootstrap() 你的 Angular 应用程序。如果您的应用程序足够小,您甚至可以使用指令来实现具有属性 templateUrl 的模板的延迟加载:“/myurl”
通常创建动态应用程序使用路由。简单点。 如果你想释放 Angular 的全部潜力,那么使用 Angular 的最佳方法就是不要集成它。 我解释一下原因: + 你的状态永远不会因为页面重新加载而丢失 + 您可以完全控制环境,不必担心干扰脚本等。 + 如果您的用户应该手动重新加载,您可以重定向到主页/登录,甚至更好地使用 requireJS 或 HTML5 本地存储在重新加载后恢复您的范围
干杯,海因里希
关于dynamic - 带或不带路由的 AngularJS 动态应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16731537/