AngularJS 未显示子视图

AngularJS Child view not showing

我正在尝试渲染子视图。但是它没有显示,这是下面的代码示例。我看到的大多数示例都将整个状态模板放在一个模板中;但是我在不同的模板中有几个视图,这些视图组成了每个状态模板。

.state({
          name: 'search',
          url: '/x',
          abstract: true,
          views: {
            'searchBar': {
              templateUrl: "template/template.html",
              controller: "searchBar"
            } 
          }
        })
        .state({
          name: 'search.final',
          url: '^/details', 
          params: {
            Data: "hello World"
          },
          views: {
            'dashb': {
              templateUrl: 'template/dashb.html'
            },
           'sidebar': {
              templateUrl: 'template/sidebar.html'
            },
          }

然后我的index.html如下

<div>
    <div class="row">
      <div class="col-lg-3">
        <div ui-view="searchBar"></div>
        <br>
        <div ui-view="sidebar"></div> 
        <br>
      </div>
      <div class="col-lg-9" ui-view="dashb"></div>
    </div>
  </div>

我在搜索中有Bartemplate <ui-view></ui-view> 为要插入的子视图,即sideBar和dashb

在控制器中我有这个:

$state.go("search.final" , {Data:"Byee"})

但是我没有渲染子视图。感谢任何帮助。谢谢

我明白了。我们需要在子视图的视图名称末尾附加 @。 :)

.state({
          name: 'search',
          url: '/x',
          abstract: true,
          views: {
            'searchBar': {
              templateUrl: "template/template.html",
              controller: "searchBar"
            } 
          }
        })
        .state({
          name: 'search.final',
          url: '^/details', 
          params: {
            Data: "hello World"
          },
          views: {
            'dashb@': {
              templateUrl: 'template/dashb.html'
            },
           'sidebar@': {
              templateUrl: 'template/sidebar.html'
            },
          }