Javascript AngularJS:单路由应用程序架构
试图确定如何利用Angular的工具集解决我试图解决的问题 我的应用程序将是一个单页应用程序,但它也将只有一个路由。根本没有URL状态中的其他“状态”。据我所知,您可以利用控制器和视图与路由的1:1关系 我希望页面上的组件具有控制器+视图组合。(组件可以是小部件、模式窗口等)。 在这种情况下有没有办法利用AngularJavascript AngularJS:单路由应用程序架构,javascript,angularjs,Javascript,Angularjs,试图确定如何利用Angular的工具集解决我试图解决的问题 我的应用程序将是一个单页应用程序,但它也将只有一个路由。根本没有URL状态中的其他“状态”。据我所知,您可以利用控制器和视图与路由的1:1关系 我希望页面上的组件具有控制器+视图组合。(组件可以是小部件、模式窗口等)。 在这种情况下有没有办法利用Angular 注意:我看到了,但这仍然严重依赖于创建应用程序的“状态”并将其绑定到URL。要包含HTML部分,可以使用ng include指令。这可以通过几种不同的方式与ng controll
注意:我看到了,但这仍然严重依赖于创建应用程序的“状态”并将其绑定到URL。要包含HTML部分,可以使用
ng include
指令。这可以通过几种不同的方式与ng controller
指令耦合:
您可以在ng控制器内嵌套带有ng include
的元素:
<div ng-controller="testCtrl">
<div ng-include="'view.html'"></div>
</div>
您还可以在同一元素上组合ng include
和ng controller
指令:
<div ng-controller="testCtrl" ng-include="'view.html'"></div>
请注意,在上面的每个示例中,ng include
指令中的字符串文字用单引号括起来-这是因为该指令需要一个表达式
根据您试图实现的目标,您可能需要使用其中一种或多种技术。我还希望您需要大量使用指令(例如,您可以使用),这些指令也可以有自己的控制器
我用上面列出的nginclude
选项的几个工作示例设置了一个Plunker,包括动态交换包含的模板
我不能说实际构建这样的生产应用程序是否可行,但至少乍一看是可能的。您所描述的是一个“指令”。angular指令有一个视图、一个控制器,甚至它自己的作用域(取决于它的设置方式)——它可以被视为一个自包含的小部件。我不建议对小部件使用路由。
<div ng-controller="testCtrl" ng-include="'view.html'"></div>