Javascript 基于另一个数组将类添加到角度中的ng repeat对象
如果另一个数组中存在一个对象(名称)的属性,我将尝试向ng repeat中的对象添加一个类 基本上,用户可以将项目中的对象标记为正确或不正确,从而在判断数组中创建“判断”对象。在加载页面时,我希望能够比较两个数组以添加/删除基于对象的最新判断是否不正确或正确的类 根据我下面的提琴,item1和item3应该有一个“不正确”的类。我怎样才能做到这一点 我尝试使用inArray(请参阅),但无法找出如何使其与特定属性而不是整个数组一起工作 小提琴:Javascript 基于另一个数组将类添加到角度中的ng repeat对象,javascript,arrays,angularjs,ng-repeat,Javascript,Arrays,Angularjs,Ng Repeat,如果另一个数组中存在一个对象(名称)的属性,我将尝试向ng repeat中的对象添加一个类 基本上,用户可以将项目中的对象标记为正确或不正确,从而在判断数组中创建“判断”对象。在加载页面时,我希望能够比较两个数组以添加/删除基于对象的最新判断是否不正确或正确的类 根据我下面的提琴,item1和item3应该有一个“不正确”的类。我怎样才能做到这一点 我尝试使用inArray(请参阅),但无法找出如何使其与特定属性而不是整个数组一起工作 小提琴: function itemCtrl($scope)
function itemCtrl($scope){
$scope.items=[{
项目名称:“项目1”
}, {
项目名称:“项目2”
}, {
项目名称:“项目3”
}];
$scope.ju断=[{
判决结果:“不正确”,
日期:“2016-02-01T11:03:16-0500”,
项目:{
项目名称:“项目1”
}
}, {
判断结果:“正确”,
日期:“2016-01-06T11:03:16-0500”,
项目:{
项目名称:“项目1”
}
}, {
判决结果:“不正确”,
日期:“2016-01-04T11:03:16-0500”,
项目:{
项目名称:“项目3”
}
}]
}
- {{item.itemname}
尝试定义新函数,以便为您的项目获得合适的类
尝试定义新函数以为项目获取适当的类
既然第一个数组中的信息已经作为第二个数组中的项存在,为什么不在第二个数组中重复NG呢 然后把判断结果作为课堂上的内容
function itemCtrl($scope){
$scope.items=[{
项目名称:“项目1”
}, {
项目名称:“项目2”
}, {
项目名称:“项目3”
}];
$scope.ju断=[{
判决结果:“不正确”,
日期:“2016-02-01T11:03:16-0500”,
项目:{
项目名称:“项目1”
}
}, {
判断结果:“正确”,
日期:“2016-01-06T11:03:16-0500”,
项目:{
项目名称:“项目1”
}
}, {
判决结果:“不正确”,
日期:“2016-01-04T11:03:16-0500”,
项目:{
项目名称:“项目3”
}
}]
}
- {{{obj.item.itemname}
既然第一个数组中的信息已经作为第二个数组中的项存在,为什么不在第二个数组中重复NG
然后把判断结果作为课堂上的内容
function itemCtrl($scope){
$scope.items=[{
项目名称:“项目1”
}, {
项目名称:“项目2”
}, {
项目名称:“项目3”
}];
$scope.ju断=[{
判决结果:“不正确”,
日期:“2016-02-01T11:03:16-0500”,
项目:{
项目名称:“项目1”
}
}, {
判断结果:“正确”,
日期:“2016-01-06T11:03:16-0500”,
项目:{
项目名称:“项目1”
}
}, {
判决结果:“不正确”,
日期:“2016-01-04T11:03:16-0500”,
项目:{
项目名称:“项目3”
}
}]
}
- {{{obj.item.itemname}
您不能迭代$scope。每次ng重复
迭代时判断
数组。比如:
$scope.isItemInCorrect = function(itemname){
console.log($scope.judgements);
for(var i = $scope.judgements.length; i--;) {
if ($scope.judgements[i].item.itemname == itemname
&& $scope.judgements[i].judgementResult == 'incorrect') {
return true;
}
}
}
<li ng-repeat="item in items" ng-class="{'incorrect' : isItemInCorrect(item.itemname)}" class="item"> <span>{{item.itemname}}</span>
$scope.isItemError=函数(itemname){
控制台日志(范围、判断);
对于(var i=$scope.judictions.length;i--;){
如果($scope.judictions[i].item.itemname==itemname
&&$scope.judictions[i].judictiontresult==“不正确”){
返回true;
}
}
}
{{{item.itemname}
您不能在
$scope中迭代。每次ng重复迭代时,判断数组。比如:
$scope.isItemInCorrect = function(itemname){
console.log($scope.judgements);
for(var i = $scope.judgements.length; i--;) {
if ($scope.judgements[i].item.itemname == itemname
&& $scope.judgements[i].judgementResult == 'incorrect') {
return true;
}
}
}
<li ng-repeat="item in items" ng-class="{'incorrect' : isItemInCorrect(item.itemname)}" class="item"> <span>{{item.itemname}}</span>
$scope.isItemError=函数(itemname){
控制台日志(范围、判断);
对于(var i=$scope.judictions.length;i--;){
如果($scope.judictions[i].item.itemname==itemname
&&$scope.judictions[i].judictiontresult==“不正确”){
返回true;
}
}
}
{{{item.itemname}
谢谢你,这让我在那里走了大半步。使用此技术是否可以确保判决是基于日期属性的最新判决?对于特定名称,是最新判决?您应该只使用sort()
function是的,正如您在我的小提琴中看到的,item1被判了两次。应采用最新的方法。我更改了日期,这样第二次判决就有了最近的日期,所以你可以看到完美!谢谢你的帮助谢谢你,这让我走了大部分路。使用此技术是否可以确保判决是基于日期属性的最新判决?对于特定名称,是最新判决?您应该只使用sort()
function是的,正如您在我的小提琴中看到的,item1被判了两次。应采用最新的方法。我更改了日期,这样第二次判决就有了最近的日期,所以你可以看到完美!感谢您的帮助这是一种有趣的方法,但不起作用,因为不会判断所有项目,这意味着它们将从数组中丢失。如果这两个数组来自两个不同的查询,我认为如果您将查询组合到一个数组中,并返回带有额外参数或状态正确的判断数组中的所有内容,不正确,没有。我认为这种方法将最小化客户端的处理和代码这是一种有趣的方法,但不起作用,因为不是所有项目都会被判断,这意味着它们将丢失
$scope.isItemInCorrect = function(itemname){
console.log($scope.judgements);
for(var i = $scope.judgements.length; i--;) {
if ($scope.judgements[i].item.itemname == itemname
&& $scope.judgements[i].judgementResult == 'incorrect') {
return true;
}
}
}
<li ng-repeat="item in items" ng-class="{'incorrect' : isItemInCorrect(item.itemname)}" class="item"> <span>{{item.itemname}}</span>