Sto lavorando con le direttive nel tutorial di "Shaping up with angular" di CodeSchool e mi sto confondendo con il funzionamento di alcune delle sintassi. Ad esempio, nel codice sottostante, ad esempio ng-repeat="product in store.products"
, vengono utilizzate versioni sia singolari che plurali della stessa parola anche quando un'espressione singolare non è stata dichiarata in precedenza (a mia conoscenza). Questo accade diverse volte.Confuso da Angular.js uso della sintassi plurale/singolare (tramite il tutorial di codeschool)
Can Angular interpreta l'intento dell'autore in questo modo ?!
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"
]
}];
})();
https://docs.angularjs.org/api/ng/directive/ngRepeat –
'product' non ha nulla a che fare con' store.products'. Potresti scrivere 'blahblah' in' store.products' – lucuma