【问题标题】:Set dynamic value for parent in state in angular js在角度js中为状态中的父级设置动态值
【发布时间】:2025-11-26 02:10:02
【问题描述】:

我正在尝试以角度打开 uibmodal,但父状态必须根据先前状态的请求进行更改。

我的 state.js 代码 -

(function() {
    'use strict';

    angular
        .module('myApp')
        .config(stateConfig);

    stateConfig.$inject = ['$stateProvider'];

    function stateConfig($stateProvider) {
        $stateProvider
        .state('save', {
                    parent: 'app',
                    url: '/save',
                    onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
                        $uibModal.open({
                            templateUrl: 'app/save.html',
                            controller: 'SaveController',
                            controllerAs: 'vm',
                            backdrop: 'static',
                            size: 'lg'

                        });
                    }]
                });
    }
})();

控制器代码如下所示 -

(function() {
    'use strict';

    angular
        .module('myApp')
        .controller('SaveController', SaveController);

    SaveController.$inject = ['$uibModalInstance','$state', '$scope','$stateParams' ];

    function SaveController($uibModalInstance, $state, $scope, $stateParams) {
        var vm = this;
        var id = $state.params.id;
       }
    })();

我正在尝试使用以下命令从父状态控制器重定向到该状态:

 $state.go("save",{id: 2, name:'test'});

我想通过控制器根据请求更改父状态值,请为此提出任何可能的解决方案。

【问题讨论】:

  • 请显示父州代码。你也可以试试 $state.go("save",{id: 2, name:'test'}, {reload: true});
  • 它不起作用,因为我想从请求的页面更改父状态

标签: angularjs html angular-ui-bootstrap


【解决方案1】:

看起来您只是缺少根部分:

$state.go("app.save",{id: 2, name:'test'});

这是文档:https://github.com/angular-ui/ui-router/wiki/Quick-Reference#stategoto--toparams--options

【讨论】:

  • 但我想在每个状态请求上进行更改,它会给出错误“无法从状态 'app' 解析 'app.save'
最近更新 更多