在角度js中为父状态设置动态值

时间:2017-04-26 13:36:18

标签: angularjs html5 angular-ui-bootstrap

我正在尝试以角度打开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'});

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

1 个答案:

答案 0 :(得分:0)

看起来你只是错过了根部分:

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

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