基于ng重复表达式的angularjs if/else语句

基于ng重复表达式的angularjs if/else语句,angularjs,Angularjs,如何在ng init中添加带有ng repeat表达式的if语句 <div ng-repeat="game in games"> <div ng-init="game.Present = (game.In == game.stock ? 1 : 0)"></div> <div ng-init="game.Rated = (game.rated == game.userrated ? 1 : 0)"></div> <im

如何在ng init中添加带有ng repeat表达式的if语句

<div ng-repeat="game in games">
  <div ng-init="game.Present = (game.In == game.stock ? 1 : 0)"></div>
  <div ng-init="game.Rated = (game.rated == game.userrated ? 1 : 0)"></div>
  <img ng-src="GameCover.jpg" />
  <div ng-show="(game.Present+game.Rated < 2">Promote Game image with flashy cover</div>
</div>

用华丽的封面宣传游戏形象

1和0只是一个swith,也可以是yes或no。这里的问题是,如何将ng init与if-else语句一起使用。这当然是一个非常简单的例子。如果不建议或不建议,是否可以在和ng init中添加if语句并将其用作作用域。另一种方法是怎样做的?

包含空格的属性需要用引号括起来:

<div ng-repeat="game in games">
  ̶<̶d̶i̶v̶ ̶n̶g̶-̶i̶n̶i̶t̶=̶g̶a̶m̶e̶.̶P̶r̶e̶s̶e̶n̶t̶ ̶=̶ ̶(̶g̶a̶m̶e̶.̶I̶n̶ ̶=̶=̶ ̶g̶a̶m̶e̶.̶s̶t̶o̶c̶k̶ ̶?̶ ̶1̶ ̶:̶ ̶0̶)̶>̶<̶/̶d̶i̶v̶>̶ 
  <div ng-init="game.Present = (game.In == game.stock ? 1 : 0)"></div>
  <div ng-show="game.Present == 1">Game Present</div>
</div>

̶̶̶ 
游戏礼物

代码可以简化为:

<div ng-repeat="game in games">
  <div ng-show="game.In == game.stock">Game Present</div>
</div>

游戏礼物

您可以使用一个函数,首先在控制器JS代码中的行中正确关闭div,使用与视图中使用的循环完全相同的循环:您在游戏中循环,对于每个游戏,您执行ng init中的指令。混合使用小写和大写属性是一个糟糕的主意,使用一个名为rated的属性和另一个名为rated的属性更糟糕。请注意,甚至不需要这些附加属性。您所需要的只是
,并且此
函数的实现应该在作用域中进行。迭代一个游戏数组并为数组中的每个游戏执行两行代码应该不是问题。angular.forEach、array.forEach或简单for循环都是有效的选项。我知道这可能更容易,但这不是问题所在。问题是,是否可以将ng init与if一起使用,并将其作为范围变量来执行某些操作,例如提升图像