Javascript 如何访问[object]AngularJS的数据
我对AngularJS是新手。 我正在向另一个州发送JsonObject 例: 我的州是-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(){
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);在应用程序加载未定义的名称时给出错误。试试这个,看看您的viewDconsole.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){下,仍然出错。我该怎么办?