如何访问 [object object] AngularJS 的数据
How to access data of [object object] AngularJS
我是 AngularJS 的新手。
我正在将 JsonObject 发送到另一个状态。
例如:
viewScope.edit=function(d) {
var viewData = {
'name' : d.name,
};
$state.go('edit', {'viewD': viewData}, {reload: true});
};
我的状态是-
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 object] 访问 name 键。
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)
您必须将状态配置从
更改为 URL
url: '/register/{viewD}',
至
url: '/register/{viewD:json}',
版本0.2.13
增加了JSON参数类型
我是 AngularJS 的新手。 我正在将 JsonObject 发送到另一个状态。
例如:
viewScope.edit=function(d) {
var viewData = {
'name' : d.name,
};
$state.go('edit', {'viewD': viewData}, {reload: true});
};
我的状态是-
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 object] 访问 name 键。
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)
您必须将状态配置从
更改为 URLurl: '/register/{viewD}',
至
url: '/register/{viewD:json}',
版本0.2.13
增加了JSON参数类型