【问题标题】:ui-router angular master detail viewui-router 角度主详细视图
【发布时间】:2016-10-31 07:22:57
【问题描述】:

我正在尝试在同一页面上获取用户列表 [master] 和用户详细信息 [detail]。

https://plnkr.co/edit/EKY2pztGkKXUuQIyefUY?p=preview

模块和配置。

var myModule = angular.module("myApp", ['ui.router']);  

myModule.config(function($stateProvider, $urlRouterProvider) {

  $stateProvider
  .state('user', {
      url : '/users',
      templateUrl:'users.html',
      controller : 'usersController'
  })
  .state('user.details', {
      url : '/:id',
      templateUrl:'users.html',
      controller : 'usersControllerDetail'
  });

  $urlRouterProvider.otherwise("/users");

});


myModule.controller('usersController' ,  function($scope){
  $scope.users = [{username : 'manish', id : 1}, { username : 'kaustubh', id :2} ]
});

myModule.controller('usersControllerDetail' ,  function($scope, $stateParams){
  console.log($stateParams.id);
});

当我点击主列表中的用户时,主列表会在屏幕上呈现两次。

你能告诉我哪里出错了

【问题讨论】:

    标签: javascript angularjs angular-ui-router


    【解决方案1】:

    有调整和working plunker

    为孩子使用不同的模板

    .state('user.details', {
          url : '/:id',
          //templateUrl:'users.html',
          templateUrl:'details.html',
          controller : 'usersControllerDetail'
    });
    

    这可能是模板

    <div>
    
     <div ui-view>
      <h3>current state name: <var>{{$state.current.name}}</var></h3>
    
    
      <h5>params</h5>
      <pre>{{$stateParams | json}}</pre>
      <h5>state</h5>
      <pre>{{$state.current | json}}</pre>
    
     </div>
    </div>
    

    【讨论】:

    • 我可以做到这一点,但现在我想在单页中做到这一点.. 看到这个embed.plnkr.co/DBSbiV/App.js ,但不知道如何用 ui-router 做到这一点
    • 单页.. 不是单个视图 (templateUrl)。 UI-Router 不是为了重用模板(虽然这也是可能的),而是为了将内容拆分为具有自己(唯一)视图/模板的状态。所以,我给你看的是路。换句话说......模板的重用将重用模板。如果孩子来的话,你在父母身上看到的东西你会看到两次。
    • 请同时检查:stackoverflow.com/q/28800644/1679310 以了解视图的本质、命名视图和绝对名称的使用。这就是 UI-Router 的本质,祝你好运先生 ;)
    • 再次感谢。祝你好运先生[当招聘人员这么说时......他们从不给我回电话..lol]
    猜你喜欢
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多