Javascript 如何在angular js/HTML中处理数组
我使用Web API通过Angular以HTML显示值 我有4个属性:Id、MovieName、Date和Cast。Cast是一个数组。我不知道如何处理Cast属性 Controller.jsJavascript 如何在angular js/HTML中处理数组,javascript,html,angularjs,model-view-controller,asp.net-web-api,Javascript,Html,Angularjs,Model View Controller,Asp.net Web Api,我使用Web API通过Angular以HTML显示值 我有4个属性:Id、MovieName、Date和Cast。Cast是一个数组。我不知道如何处理Cast属性 Controller.js app.controller('MyController', function ($scope, MyService) { $scope.getemploy = function () { var promise = MyService.getMovies(); promise.then
app.controller('MyController', function ($scope, MyService) {
$scope.getemploy = function () {
var promise = MyService.getMovies();
promise.then(function (pl) {
$scope.Movies= pl.data
},
function (error) {
$log.error('Some Prob', error);
});
}
GetMovies()-->将带来电影详细信息(演员属性将在数组中包含男主角和女主角的名称)
HTML文件:
<tr ng-repeat="mov in Movies">
<td>{{mov.Id}}</td>
<td>{{mov.MovieName}}</td>
<td>{{mov.Date}}</td>
<td>{{mov.Cast}}</td>
</tr>
有人能帮忙吗 我不确定您所说的强制转换是否有效,但我猜它只是在HTML中显示JSON对象?您可以在列表中显示所有演员组成员,例如:
<tr ng-repeat="mov in Movies">
<td>{{mov.Id}}</td>
<td>{{mov.MovieName}}</td>
<td>{{mov.Date}}</td>
<td>
<ul>
<li ng-repeat="member in mov.Cast">{{ member }}</li>
</ul>
</td>
</tr>
{{mov.Id}
{{mov.MovieName}
{{mov.Date}
- {{member}
我不确定您所说的强制转换不起作用,但我猜它只是在HTML中显示JSON对象?您可以在列表中显示所有演员组成员,例如:
<tr ng-repeat="mov in Movies">
<td>{{mov.Id}}</td>
<td>{{mov.MovieName}}</td>
<td>{{mov.Date}}</td>
<td>
<ul>
<li ng-repeat="member in mov.Cast">{{ member }}</li>
</ul>
</td>
</tr>
{{mov.Id}
{{mov.MovieName}
{{mov.Date}
- {{member}
但它不起作用
因为根据你收到的JSON,HTML应该有不同的键。试试这个:
<tr ng-repeat="mov in Movies">
<td>{{mov._movieId}}</td>
<td>{{mov._moviename}}</td>
<td>{{mov._releaseDate}}</td>
<td>{{mov._cast.join(', ')}}</td>
</tr>
{{mov.\u movieId}
{{mov.\u moviename}
{{mov.\u releaseDate}
{{mov._cast.join(',')}
我使用简单的join
数组方法来呈现以逗号分隔的参与者列表。如果您需要更具体的内容,则需要在mov.\u cast
array上再使用一个ngRepeat
(参见Danny的答案)
但它不起作用
因为根据你收到的JSON,HTML应该有不同的键。试试这个:
<tr ng-repeat="mov in Movies">
<td>{{mov._movieId}}</td>
<td>{{mov._moviename}}</td>
<td>{{mov._releaseDate}}</td>
<td>{{mov._cast.join(', ')}}</td>
</tr>
{{mov.\u movieId}
{{mov.\u moviename}
{{mov.\u releaseDate}
{{mov._cast.join(',')}
我使用简单的
join
数组方法来呈现以逗号分隔的参与者列表。如果您需要更具体的内容,则需要在mov.\u cast
array上再使用一个ngRepeat
(参见Danny的答案) Json输出是我在PostMan中尝试获取Get资源时得到的。我刚才添加的内容是为了展示如何进行强制转换……Json输出是我在PostMan中尝试获取Get资源时得到的。我刚才添加的内容是为了说明如何进行施法……您的解决方案是合理的,但您错过了@dfsq在其回答中发现的拼写错误。我看到了这些错误,但由于他专门询问施法区域,我想他在取回对象时可能正在翻译这些区域。也有可能整件事都是空白的,他只是把这归咎于演员的问题。$scope.Movies=pl.data
不。很高兴能帮忙,但听起来你更大的问题是错误命名的属性?不,还有待解决……这是其中之一……@Danny必须在我的web api中实现缓存……当相同的请求通过时,我从缓存中得到了结果,但我得到的标题与200(确定)相同,而不是304。你的解决方案是合理的,但是你错过了@dfsq在他的回答中发现的拼写错误。我看到了,但是因为他特别询问演员场的情况,我想当他取回对象时,他可能正在翻译这些字段。也有可能整件事都是空白的,他只是把这归咎于演员的问题。$scope.Movies=pl.data
不。很高兴能帮忙,但听起来你更大的问题是错误命名的属性?不,还有待解决……这是其中之一……@Danny必须在我的web api中实现缓存……当相同的请求通过时,我从缓存中得到了结果,但我得到的标头与200(确定)相同,而不是304