Angularjs UI路由器状态和$ scope

时间:2016-02-05 04:07:41

标签: angularjs angular-ui-router

我正在使用ui-router。我在搜索表单提交时遇到问题。我好像导航工作在状态之间(主页然后单击搜索按钮),它会将您带到搜索结果页面但是,在自动完成工作时不会执行搜索。我还注意到搜索条件不再在搜索框进入结果页面时。由于搜索字词没有转移到结果页面,我开始认为我有一个$ scope问题而且我不确定为什么......?

我的路线(状态)配置如下:

.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) 
$urlRouterProvider.otherwise('/');//default route for urls that don't have a specific route


$stateProvider

.state('home', {
    url: '/',
    views: {
      '': {templateUrl: 'templates/home.html'},//relatively named
      'navbar@home': {templateUrl: 'templates/navbar-home.html', controller: 'TypeaheadCtrl'},
      'autocomplete@home': {templateUrl: 'templates/autocomplete.html', controller: 'TypeaheadCtrl'}
    }
  })

.state('search', {
  url: '/search?searchTerms',
  views: {
    '': {templateUrl: 'templates/search.html'},//parent view, relatively named
    'navbar@search': {templateUrl: 'templates/navbar.html', controller: 'TypeaheadCtrl'},
    'searchDisplay@search': {templateUrl: 'templates/results.html', controller: 'TypeaheadCtrl'},
    'pagination@search': {templateUrl: 'templates/pagination.html', controller: 'TypeaheadCtrl'}
  }
})

我的状态和模板结构是否会干扰$ scope?是否有不同的方法来设置我的状态和模板并使$ scope以预期的方式工作?

注意:我在<a>上使用ui-sref而不是<button>用于&#34;搜索按钮&#34; - 这与它有什么关系吗?我使用ui-sref是因为它似乎比在控制器的函数调用中使用带有ng-submit和state.go()的<button>更好。

0 个答案:

没有答案