angular js 中的控制器在 html 中获取数组键值?
Array key value get in html from controller in angular js?
我正在 angular js 控制器中获取键数组。而且我能够在控制器中获得特定的价值。但是我看不到(HTML).
控制器:
var statusLength= res.fsus.length;
for(var i=0; i<statusLength; i++)
{
$scope.opts=res.fsus[i].statusMessageType.MasterConsignment.ReportedStatus.ReasonCode
}
在这个循环中,我可以获得特定的值。我想在 View(HTML) 部分显示这些值。我是 angular js 的新手。我不确定我做的对不对。
值在循环中
变量
汽车
禁令
但是当我尝试进入 UI(HTML) 时,它将只显示 v a r。不显示 var 汽车禁令。它只显示 v a r
HTML
<li ng-repeat=" opt in opts">
<span class="step">{{opt}}</span>
</li>
JSON
fsus[{
statusMessageType:{
MasterConsignment:{
ReportedStatus:{
ReasonCode:"var"
}
}
},
statusMessageType:{
MasterConsignment:{
ReportedStatus:{
ReasonCode:"car"
}
}
},
statusMessageType:{
MasterConsignment:{
ReportedStatus:{
ReasonCode:"ban"
}
}
},
}]
请分享您的想法。谢谢
你在模板中循环的内容是错误的:
您应该循环 fsus
值然后显示 ReasonCode
:
// Put fsus in $scope
$scope.fsus = res.fsus;
然后在您的模板中:
<li ng-repeat="statusMessageType in fsus">
<span class="step">
{{statusMessageType.MasterConsignment.ReportedStatus.ReasonCode}}
</span>
</li>
希望对您有所帮助。
首先你的JSON不是一个有效的,把它改成,
[ {
"statusMessageType": {
"MasterConsignment": {
"ReportedStatus": {
"ReasonCode": "var"
}
}
} }, {
"statusMessageType": {
"MasterConsignment": {
"ReportedStatus": {
"ReasonCode": "car"
}
}
} }, {
"statusMessageType": {
"MasterConsignment": {
"ReportedStatus": {
"ReasonCode": "ban"
}
}
} } ]
您可以使用 ng-repeat 和 track by $index 来显示选项
<li ng-repeat="test in res.fsus track by $index">
<span class="step"> {{test.statusMessageType.MasterConsignment.ReportedStatus.ReasonCode}}
</span>
</li>
演示
var app = angular.module('testApp',[]);
app.controller('testCtrl',function($scope){
$scope.res ={};
$scope.res.fsus = [
{
"statusMessageType": {
"MasterConsignment": {
"ReportedStatus": {
"ReasonCode": "var"
}
}
}
},
{
"statusMessageType": {
"MasterConsignment": {
"ReportedStatus": {
"ReasonCode": "car"
}
}
}
},
{
"statusMessageType": {
"MasterConsignment": {
"ReportedStatus": {
"ReasonCode": "ban"
}
}
}
}
];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="testApp" ng-controller="testCtrl">
<li ng-repeat="test in res.fsus track by $index">
<span class="step"> {{test.statusMessageType.MasterConsignment.ReportedStatus.ReasonCode}}
</span>
</li>
</body>
我正在 angular js 控制器中获取键数组。而且我能够在控制器中获得特定的价值。但是我看不到(HTML).
控制器:
var statusLength= res.fsus.length;
for(var i=0; i<statusLength; i++)
{
$scope.opts=res.fsus[i].statusMessageType.MasterConsignment.ReportedStatus.ReasonCode
}
在这个循环中,我可以获得特定的值。我想在 View(HTML) 部分显示这些值。我是 angular js 的新手。我不确定我做的对不对。
值在循环中
变量
汽车
禁令
但是当我尝试进入 UI(HTML) 时,它将只显示 v a r。不显示 var 汽车禁令。它只显示 v a r
HTML
<li ng-repeat=" opt in opts">
<span class="step">{{opt}}</span>
</li>
JSON
fsus[{
statusMessageType:{
MasterConsignment:{
ReportedStatus:{
ReasonCode:"var"
}
}
},
statusMessageType:{
MasterConsignment:{
ReportedStatus:{
ReasonCode:"car"
}
}
},
statusMessageType:{
MasterConsignment:{
ReportedStatus:{
ReasonCode:"ban"
}
}
},
}]
请分享您的想法。谢谢
你在模板中循环的内容是错误的:
您应该循环 fsus
值然后显示 ReasonCode
:
// Put fsus in $scope
$scope.fsus = res.fsus;
然后在您的模板中:
<li ng-repeat="statusMessageType in fsus">
<span class="step">
{{statusMessageType.MasterConsignment.ReportedStatus.ReasonCode}}
</span>
</li>
希望对您有所帮助。
首先你的JSON不是一个有效的,把它改成,
[ { "statusMessageType": { "MasterConsignment": { "ReportedStatus": { "ReasonCode": "var" } } } }, { "statusMessageType": { "MasterConsignment": { "ReportedStatus": { "ReasonCode": "car" } } } }, { "statusMessageType": { "MasterConsignment": { "ReportedStatus": { "ReasonCode": "ban" } } } } ]
您可以使用 ng-repeat 和 track by $index 来显示选项
<li ng-repeat="test in res.fsus track by $index">
<span class="step"> {{test.statusMessageType.MasterConsignment.ReportedStatus.ReasonCode}}
</span>
</li>
演示
var app = angular.module('testApp',[]);
app.controller('testCtrl',function($scope){
$scope.res ={};
$scope.res.fsus = [
{
"statusMessageType": {
"MasterConsignment": {
"ReportedStatus": {
"ReasonCode": "var"
}
}
}
},
{
"statusMessageType": {
"MasterConsignment": {
"ReportedStatus": {
"ReasonCode": "car"
}
}
}
},
{
"statusMessageType": {
"MasterConsignment": {
"ReportedStatus": {
"ReasonCode": "ban"
}
}
}
}
];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="testApp" ng-controller="testCtrl">
<li ng-repeat="test in res.fsus track by $index">
<span class="step"> {{test.statusMessageType.MasterConsignment.ReportedStatus.ReasonCode}}
</span>
</li>
</body>