Angularjs 如何根据状态更改html

Angularjs 如何根据状态更改html,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我不熟悉angular,我想使用angular ui路由器创建嵌套视图 我有index.html 在这个 在content.html中,我有 <div> <div ui-view="status"></div> </div> 我想将默认html设置为该视图的“状态” 我还想根据url来存放html 这是状态定义更新的摘录,支持以下两个方面: ui view=“content”包含ui view=“status” 状态url由url动

我不熟悉angular,我想使用angular ui路由器创建嵌套视图

我有index.html 在这个

在content.html中,我有

<div>
    <div ui-view="status"></div>
</div>

我想将默认html设置为该视图的“状态”

我还想根据url来存放html

这是状态定义更新的摘录,支持以下两个方面:

  • ui view=“content”
    包含
    ui view=“status”
  • 状态url由url动态生成
州定义:

 $stateProvider
    .state('public', {
      url : '/{name:[abc]}',
      views: {
        'menu': { templateUrl: 'public.menu.html', },
        'content': { templateUrl: 'public.content.html', },
        'footer': { template: '<div>footer content</div>', },
        'status@public': {
            templateUrl: function($stateParams){
              if($stateParams.name === "a"){
                return "a.tpl.html";
              } 
              if($stateParams.name === "b"){
                return "b.tpl.html"
              }
              return "c.tpl.html";
            },
        },
$stateProvider
.州(“公共”{
url:“/{name:[abc]}”,
观点:{
'menu':{templateUrl:'public.menu.html',},
'content':{templateUrl:'public.content.html',},
'页脚':{模板:'页脚内容',},
'status@public': {
templateUrl:函数($stateParams){
如果($stateParams.name==“a”){
返回“a.tpl.html”;
} 
如果($stateParams.name==“b”){
返回“b.tpl.html”
}
返回“c.tpl.html”;
},
},
最大的魔力在于
status@public
名称定义,请在此处阅读更多内容:

模板选择由以下功能驱动:


检查工作情况

这正是我需要的,谢谢你的快速回复@Radim Köhler和回答如果这有帮助的话,那太好了!享受
ui路由器
;)
<div>
    <div ui-view="status"></div>
</div>
 $stateProvider
    .state('public', {
      url : '/{name:[abc]}',
      views: {
        'menu': { templateUrl: 'public.menu.html', },
        'content': { templateUrl: 'public.content.html', },
        'footer': { template: '<div>footer content</div>', },
        'status@public': {
            templateUrl: function($stateParams){
              if($stateParams.name === "a"){
                return "a.tpl.html";
              } 
              if($stateParams.name === "b"){
                return "b.tpl.html"
              }
              return "c.tpl.html";
            },
        },