是否可以在路线中设置两个视图?

时间:2016-08-23 04:13:49

标签: angularjs ionic-framework

我想知道是否可以在我的routes.js中做这样的事情。这不起作用,但我想知道是否可能。

state('tabs.jobDetails', {
  url: '/jobDetail',
  cache: false,
  views: {
    function($ionicHistory) {
      if($ionicHistory.backTitle() === "Listings") {
        'home-tab'
      } else {
        'search-tab'
      }
    } {
      templateUrl: 'templates/jobDetails/jobDetails.html',
      controller: 'jobsCtrl'
    }
  }
});

1 个答案:

答案 0 :(得分:0)

views对象应该是格式如下;

views: {
    "main": {
      template: "<h1>HELLO!</h1>"
    }
}

因此,您需要更改代码才能生成此对象。我建议将函数放在.state和$ stateprovider之外,并在视图中调用它。 在外面定义一个函数,如:

function setStateParams() {
    if($ionicHistory.backTitle() === "Listings") {
        return { 
            'home-tab': {
                templateUrl: 'templates/jobDetails/jobDetails.html',
                controller: 'jobsCtrl'
            }
        };
    } else {
        return { 
            'search-tab': {
                templateUrl: 'templates/jobDetails/jobDetails.html',
                controller: 'jobsCtrl'
            }
        };
    }
}

并在视图对象中调用它,如:

views: setStateParams()