angularjs – 由Angular.js混淆使用复数/单数语法(通过codeschool教程)

前端之家收集整理的这篇文章主要介绍了angularjs – 由Angular.js混淆使用复数/单数语法(通过codeschool教程)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用CodeSchool的“使用角度塑造”教程中的指令,并且我对某些语法的工作方式感到困惑.例如,在下面的代码中,比如ng-repeat =“store in store.products”,即使单个表达式之前没有声明(据我所知),它们也使用同一个单词的单数和复数版本.这整个过程中有几次.

Angular能否以这种方式解释作者的意图?!

index.html的:

<!DOCTYPE html>
<html ng-app="gemStore">
  <head>
    <link rel="stylesheet" type="text/css" href="bootstrap.min.css" />
    <script type="text/javascript" src="angular.min.js"></script>
    <script type="text/javascript" src="app.js"></script>
  </head>
  <body class="list-group" ng-controller="StoreController as store">
    <!--  Product Container  -->
    <div class="list-group-item" ng-repeat="product in store.products">
      <h3>{{product.name}} <em class="pull-right">{{product.price | currency}}</em></h3>

      <!-- Image Gallery  -->
      <div class="gallery">
        <div class="img-wrap">
          <img ng-src="{{product.images[0]}}" />
        </div>
        <ul class="img-thumbnails clearfix">
          <li class="small-image pull-left thumbnail" ng-repeat="image in product.images">
            <img ng-src="{{product.images[0]}}" />
          </li>
        </ul>
      </div>
    </div>
  </body>
</html>

app.js:

(function() {
  var app = angular.module('gemStore',[]);

  app.controller('StoreController',function() {
    this.products = gems;
  });

  var gems = [{
    name: 'Azurite',description: "Some gems have hidden qualities beyond their luster,beyond their shine... Azurite is one of those gems.",shine: 8,price: 110.50,rarity: 7,color: '#CCC',faces: 14,images: [
      "images/gem-02.gif","images/gem-05.gif","images/gem-09.gif"
    ]
  },{
    name: 'Bloodstone',description: "Origin of the Bloodstone is unknown,hence its low value. It has a very high shine and 12 sides,however.",shine: 9,price: 22.90,rarity: 6,color: '#EEE',faces: 12,images: [
      "images/gem-01.gif","images/gem-03.gif","images/gem-04.gif"
    ]
  },{
    name: 'Zircon',description: "Zircon is our most coveted and sought after gem. You will pay much to be the proud owner of this gorgeous and high shine gem.",shine: 70,price: 1100,rarity: 2,color: '#000',faces: 6,images: [
      "images/gem-06.gif","images/gem-07.gif","images/gem-10.gif"
    ]
  }];
})();
单数/复数仅用于常识和代码可读性 – 它不必是单数/复数.你可以做
ng-repeat="whatever in store.products"`

然后拥有内部可用的任何对象(例如:< img ng-src =“{{whatever.images [0]}}”/>).

在您的情况下,store.products不能更改,因为它引用实际对象,而product是一个完全自定义名称,用于重复循环.

在编程中相当普遍.就像其他答案所说的那样,它与for..in语法类似.

猜你在找的Angularjs相关文章