angularjs - 如何将$rootscope(一个包含10个参数的对象)传递给Angularjs的UI-Router中的状态?

标签 angularjs angular-ui-router ui-sref

您好,我是一名新开发人员,我在使用 UI-Router 将根范围参数传递到我的状态时遇到问题。

这是我的 href,我想将其更改为 ui-sref :

href="/mycarts/{{cats.id}}?{{$root.filterParams}}

这是我的状态:

.state('mycarts', {
    url : '/mycarts/:id?vendors&' +
          'price_to&price_from&manufacturer&' +
          'editor&theme&page&order&filter_by&no',
    templateUrl : 'partials/mycarts.html',
    controller : 'MyCartsController'

这就是我将参数传递给 Controller ​​的方式:

    $scope.id = $stateParams.id;

所以基本上 id 参数的所有内容都工作正常,但我还需要传递其他字符串查询,其中很多,我不知道如何将其他字符串查询传递给它,将上面的 href 更改为的正确方法是什么ui-sref。

最佳答案

我会创建一个对象,以便在 Controller 的 ui-sref 中使用,如下所示

$scope.linkParams = angular.extend({id: $scope.cats.id}, $scope.$root.filterParams);

(参见 https://docs.angularjs.org/api/ng/function/angular.extend )

然后在ui-sref中使用它

ui-sref="mycart(linkParams)"

关于angularjs - 如何将$rootscope(一个包含10个参数的对象)传递给Angularjs的UI-Router中的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38427393/

相关文章:

javascript - Angular 2 : new router and templateProvider practice from Angular 1

javascript - 使用 Angular 时隐藏 API key (也许在环境变量中?)

javascript - 使用 AngularJS 在表中包含和删除产品

angularjs - 如何在 ui-router 状态转换之间调出 "in progress"加载栏?

javascript - ui-sref-opts={重新加载 : true} not reloading the controller

javascript - 禁用 NgRepeat 中 NgOptions 中的选项

angularjs - 使用 Angular 的 ui-router 掌握详细信息

angularjs - Internet Explorer 8 上的 Angular JS ui 路由器

javascript - AngularJS : child state return parent view

angularjs - 如何在动态html模板中添加ui-sref?