Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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
Javascript 如何访问[object]AngularJS的数据_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript 如何访问[object]AngularJS的数据

Javascript 如何访问[object]AngularJS的数据,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我对AngularJS是新手。 我正在向另一个州发送JsonObject 例: 我的州是- viewApp.config(function($stateProvider){ $stateProvider .state('edit', { name: '#/edit', url: '/register/{viewD}', templateUrl: function(){

我对AngularJS是新手。 我正在向另一个州发送JsonObject

例:

我的州是-

viewApp.config(function($stateProvider){
    $stateProvider
        .state('edit', {
            name: '#/edit',
            url: '/register/{viewD}',
            templateUrl: function(){    
                 return path+'/register.jsp';
             },
             controller:'registerCtrl',
             resolve : {
                 loadPlugin: function($ocLazyLoad) {
                     return $ocLazyLoad.load([{
                         name : 'registerApp',
                         files: [path+'/resources/js/register.js'],
                     }])
                }
            }
        })
});
寄存器内控制器获取数据-

regApp.controller('registerCtrl',function($stateParams){                 
        if($stateParams != undefined){
            console.log($stateParams.viewD);
        }
});
控制台上的输出为-[object object]

如何从此[object]访问名称

console.log($StateParams.viewD.name);//不工作


JSON.parse,JSON.stringify不工作。如下更改配置方法

viewApp.config(function($stateProvider){
$stateProvider
    .state('edit', {
        name: '#/edit',
        url: '/register',
        params: {
           viewD: null
        }
        templateUrl: function(){    
             return path+'/register.jsp';
         },
         controller:'registerCtrl',
         resolve : {
             loadPlugin: function($ocLazyLoad) {
                 return $ocLazyLoad.load([{
                     name : 'registerApp',
                     files: [path+'/resources/js/register.js'],
                 }])
            }
        }
    })
});
然后您可以从控制器中的
$state
访问对象,
$state.params.viewD
或从
$stateParams
中选择此
$stateParams.viewD


现在尝试
console.log($state.params.viewD.name)

如下更改配置方法

viewApp.config(function($stateProvider){
$stateProvider
    .state('edit', {
        name: '#/edit',
        url: '/register',
        params: {
           viewD: null
        }
        templateUrl: function(){    
             return path+'/register.jsp';
         },
         controller:'registerCtrl',
         resolve : {
             loadPlugin: function($ocLazyLoad) {
                 return $ocLazyLoad.load([{
                     name : 'registerApp',
                     files: [path+'/resources/js/register.js'],
                 }])
            }
        }
    })
});
然后您可以从控制器中的
$state
访问对象,
$state.params.viewD
或从
$stateParams
中选择此
$stateParams.viewD


现在尝试
console.log($state.params.viewD.name)

您必须从

url: '/register/{viewD}',


JSON参数类型已添加到版本中,您必须从

url: '/register/{viewD}',


JSON参数类型已添加到版本

中,
$stateParams
的内容是什么?
$stateParams.viewD的类型是什么?@Weedoze$stateParams的内容是viewD:“[object object]”您在哪里看到这个
[object object]
?在控制台里?你能扩展它吗?控制台中
console.log(typeof$stateParamas.viewD)
@Weedoze yes的结果是什么。不,我不能扩展它。它的类型是StringTry,用
url:'/register/{viewD:json}'替换状态配置中的url,
$stateParams
的内容是什么?
$stateParams.viewD的类型是什么?@Weedoze$stateParams的内容是viewD:“[object object]”您在哪里看到这个
[object object]
?在控制台里?你能扩展它吗?控制台中
console.log(typeof$stateParamas.viewD)
@Weedoze yes的结果是什么。不,我不能扩展它。它的类型是StringTry,用
url:'/register/{viewD:json}',
console.log($stateParams.viewD)替换状态配置中的url;output={name:“abc”}但console.log($stateParams.viewD.name);在应用程序加载未定义名称时出错。尝试此操作并查看viewD
控制台.log(typeof$stateParams.viewD)
,如果它是
字符串
JSON.parse($stateParams.viewD)。name
将返回名称给定错误---语法错误:JSON.parse($stateParams.viewD)上位置0处的JSON中意外标记u.nameSeems,如
$stateParams.viewD
对象未定义
if($stateParams.viewD)JSON.parse($stateParams.viewD).name
试试这个。如果它没有进入If检查您的viewDIts未定义的源代码,它在If($StateParams.viewD){下仍然是错误的。我做什么?console.log($StateParams.viewD);output={name:“abc”}但是console.log($StateParams.viewD.name);在应用程序加载未定义的名称时给出错误。试试这个,看看您的viewD
console.log的类型(typeof$stateParams.viewD)
,如果它是一个
字符串
将返回nameGive错误--SyntaxError:JSON.parse($stateParams.viewD)上位置0处JSON中的意外标记u。类似于
$stateParams.viewD
对象的名称未定义。
if($stateParams.viewD)JSON.parse($stateParams.viewD).name
试试这个。如果它不在If中,请检查viewDIts的源代码是否未定义,它在If($stateParams.viewD){下,仍然出错。我该怎么办?