当数组在angularjs中没有可比较的值时,如何分配默认值
How to assign default value when array has no value to compare in angularjs
你好,我是angularjs的新手,我有以下代码,HTML
//here i have one more ng-repeat so comparing with this home.home_info_id to avgrating avg.home_inof_id
<div ng-repeat=' home in homeDetailInfo'>
<div ng-repeat="avg in homerating">
<div ng-if="avg.home_info_id==home.home_info_id">
<div class="star" ng-modal="avg" data-score="{{avg.avg}}"></div>
</div>
</div>
我在这里获取数据
hallrating=[
{"home_info_id":"94","avg":"3.33333333333333"},
{"home_info_id":"119","avg":"4"},
{"home_info_id":"95","avg":"4.5"}
]
所以它非常适合3套房子,但问题是我有四套房子,第四套房子还没有评级,所以我需要显示该房子的数据分数="0"。我试着跟随
<div ng-repeat=' home in homeDetailInfo'>
<div ng-repeat="avg in homerating">
<div ng-if="avg.home_info_id==home.home_info_id">
<div class="star" ng-modal="avg" data-score="{{avg.avg}}"></div>
</div>
<div ng-if="avg.home_info_id!=home.home_info_id && avg.avg!=''">
<div class="star" ng-modal="avg" data-score="0"></div>
</div>
</div>
not worked for me i also tried
<div ng-repeat=' home in homeDetailInfo'>
<div ng-repeat="avg in homerating">
<div ng-if="avg.home_info_id==home.home_info_id">
<div class="star" ng-modal="avg" data-score="{{avg.avg}}"></div>
</div>
<div ng-if="!avg.avg">
<div class="star" ng-modal="avg" data-score="0"></div>
</div>
</div>
您可以创建一个方法。
$scope.showScore = function(score) {
if (angular.isDefined(score)) {
return score;
} else {
return 0;
}
}
然后在html 中
<div class="star" ng-modal="avg" data-score="showScore(avg.avg)"></div>
编辑:错过了平均值附近的()。
<div ng-repeat=' home in homeDetailInfo'>
<div class="star" data-score="{{ getScore(home.home_info_id) }}"></div>
</div>
然后在你的控制器
$scope.getScore = function (homeInfoId) {
var score = 0;
homerating.forEach(function (rating) {
if (rating.home_info_id === homeInfoId) {
score = rating.avg;
}
}
return score;
};
相关文章:
- 在循环中分配json值时,值被覆盖
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- 如果值为空,如何设置输入的默认值?jQuery
- 骨干模型默认值-todos.js示例中不必要的代码
- jquery日期选择器年份范围默认值
- Html5输入属性的默认值,如最小值、最大值、大小等
- 根据两个下拉列表的默认值禁用按钮
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- Angularjs-设置不带ng选项的select的默认值
- jQuery Datepicker从日期开始设置默认值
- 如何设置浏览器打开的文件对话框的文件名(一些默认值)
- 当数组在angularjs中没有可比较的值时,如何分配默认值
- 如何通过javascript为输入类型日期分配默认值
- 如果存在值,则使用值,否则使用 or 运算符分配默认值
- 使用 angularjs 将默认值分配给多选下拉列表
- 如何制作更短且可读的比较/逻辑行来分配默认值?在jQuery/JavaScript中
- jquery中.data()分配的默认值
- 如何在密码的表单输入字段中分配默认值
- 如何禁用文本框并为其分配默认值