Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度状态获取参数子对象_Angularjs_Angular Ui Router_Angular Routing - Fatal编程技术网

Angularjs 角度状态获取参数子对象

Angularjs 角度状态获取参数子对象,angularjs,angular-ui-router,angular-routing,Angularjs,Angular Ui Router,Angular Routing,我怎样才能从孩子那里得到一个参数 我就是这么做的: $state.go('demo.content', {proces: '10'}) 然后在控制器“Main”中,我需要param proces的值 .state('demo', { url: '/', abstract: true, views: { 'main': { templateUrl: './App

我怎样才能从孩子那里得到一个参数

我就是这么做的:

$state.go('demo.content', {proces: '10'})
然后在控制器“Main”中,我需要param proces的值

.state('demo', {
            url: '/',
        abstract: true,
            views: {
                'main': {
                    templateUrl: './App/main.html',
                    controller: 'Main'
                }
        })

.state('demo.content', {
            url: '/monitoring',
            views: {
                'chart': {
                    templateUrl: './App/chart.html',
                    controller: 'Chart'
                },
                'grid': {
                    templateUrl: './App/grid.html',
                    controller: 'Grid'
                },
        params: {proces: '4'}
        })

这里的要点是,任何使用不同参数
进程
调用
'demo.content'
都应该重新调用/重新初始化该状态视图的控制器

换句话说,只有属于此状态的控制器才能将
进程
作为注入参数的一部分使用

因此,如果主控制器中确实有任何部分需要处理(更改)进程id,则应将其移动到
demo.content
状态,作为另一个视图

如果这是真的,我们所能做的就是将该视图从父视图移动到状态:

.state('demo.content', {
    url: '/monitoring',
    views: {
        'chart': {
            templateUrl: './App/chart.html',
            controller: 'Chart'
        },
        'grid': {
            templateUrl: './App/grid.html',
            controller: 'Grid'
        },
        // this would do the stuff fro main controller
        // based on changing params
        'mainProcessor': {
            templateUrl: './App/mainProcessor.html',
            controller: 'mainProcessor'
        }
只有这样,您才能确定,不同的param值将触发“mainProcessor”控制器,并允许他执行该任务