【发布时间】:2018-04-20 05:38:39
【问题描述】:
我是 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 不起作用。
【问题讨论】:
-
$stateParams的内容是什么?$stateParams.viewD的类型是什么? -
@Weedoze $stateParams 的内容是 viewD : "[object Object]"
-
你在哪里看到这个
[object Object]?在控制台中?你能扩展它吗?console.log(typeof $stateParamas.viewD)的结果是什么 -
@Weedoze 在控制台中是的。不,我无法扩展它。它的类型是字符串
-
尝试用
url: '/register/{viewD:json}',替换你在状态配置中的url
标签: javascript angularjs angular-ui-router