Javascript 角度子视图
我在谷歌上搜索了一下这个话题,但我无法得到一个关于这个话题的明确答案,因此,如果这是一个很难回答的问题,我深表歉意。不久前我就开始学习Angular,我真的很想走上好的道路 应用程序由定义配置中路由的Javascript 角度子视图,javascript,angularjs,Javascript,Angularjs,我在谷歌上搜索了一下这个话题,但我无法得到一个关于这个话题的明确答案,因此,如果这是一个很难回答的问题,我深表歉意。不久前我就开始学习Angular,我真的很想走上好的道路 应用程序由定义配置中路由的app.js引导。htmlindex.html有一个带有ngapp指令的主体,里面只有一个div,里面有一个ng视图 $routeProvider .when('/', { templateUrl: 'views/main.html', controller: '
app.js
引导。htmlindex.html
有一个带有ngapp
指令的主体,里面只有一个div,里面有一个ng视图
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainController'
})
.otherwise({
redirectTo: '/'
});
这个main.html
和控制器是应用程序的主要部分,非常简单
现在我想有一个标题,它要么显示登录信息,要么显示来自用户的信息。我认为这应该是另一个控制器和另一个视图,因为头部应该封装所有代码,而不是污染主视图
我该怎么办
ng应用程序
并为标题和主应用程序创建两个不同的控制器,但是我不知道如何将每个视图与每个ng控制器
相关联,就像routeProvider
所做的那样,尽管如果我不介意将所有html内联编写,这应该是可行的。我也会失去我不想去的路线ng controller=headerController
,但仍然可以内联代码。是否可以选择将模板与没有路由定义的控制器关联routeConfig
,事情可能会正常工作。不过,我不认为这是最好的解决办法
回答你的第二个问题:
我可以在应用程序中创建一个ng controller=headerController
,但仍然可以内联代码。是否可以选择将模板与没有路由定义的控制器关联
您可以使用ng include
包含模板:
此外,您可以使用
$templateCache
或使用来保持模板内联。您可以使用ng include插入模板。我个人喜欢用谢谢。这似乎正是我所需要的,这是一个黑客还是ng include就是为了这个目的而构建的?我很乐意接受这个正确答案(已经+1),只要我测试出来。ng include
是插入部分的一种常用方法ng视图实际上是有限的,因为它只能绑定一次,并且通常通过使用ng include
以这种方式进行处理。您还可以查看是否需要根据路由切换视图,但由于它是预测试版,您还不应该在生产代码中使用它。如果我需要更好的东西,我将采用您的方法并退回到ui路线。对于标题内的更改,我将使用angular的if指令,例如,区分登录用户和注销用户。谢谢,接受答案。