首页 > 解决方案 > 在ui路由中传递动态参数值

问题描述

我正在使用 UI 路由器,但我无法动态传递值 如何在 ui 路由中动态传递 searchName

.state("search", {
  name: 'search',
  url: '/search/{search}',
  templateUrl: "search-page",
  controller: "searchController"
})


myApp.controller('searchController', function($scope, $http, $stateParams) {
  $scope.searchName = $stateParams.search;
  console.log($scope.searchName);

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>

<div class="input-group">
  <input type="text" class="form-control" placeholder="search" ng-modal="searchName" name="q"> {{searchName}}
  <div class="input-group-btn">
    <a ui-sref="search({search:searchName})">
      <button class="btn btn-default" type="submit"><i class="fa fa-search"></i></button>
    </a>
  </div>
</div>

标签: javascriptangularjsangular-ui-router

解决方案


试试这个,让我知道它是否有效

.state('search', {
  name: 'search',
  url: "/search/:search",
  templateUrl: 'search-page',
  controller: function ($stateParams) {
            // If we got here from a url of /search/test54test
    expect($stateParams).toBe({search: "test54test"});
}

在你看来

<a ui-sref="search({search: searchName})">View Contact</a>

你可以点击这里找到更多


推荐阅读