当我在对象canPurchase下将值设置为true时,应显示添加到购物车按钮。出于某种原因,我只能在我面前用感叹号设置ng-show时显示它。 我仍然是棱角分明的新人,所以我不太了解术语。
这是我的jsfiddle链接:http://jsfiddle.net/jL0c6sLc/
<body class="container" ng-app="gemStore">
<div class="product row">
<h1>Store Name</h1>
</div>
<div ng-controller="StoreController as store">
<div class="product row" ng-repeat="product in store.products">
<h3>{{product.name}}<em class="pull-right">{{product.price | currency}}</em></h3>
<button ng-show="store.product.canPurchase">Add to Cart</button>
</div>
</div>
<script data-require="angular.js@1.2.10" data-semver="1.2.10" src="http://code.angularjs.org/1.2.10/angular.js"></script>
<script src="js/app.js"></script>
这是我的app.js脚本
(function() {
var app = angular.module('gemStore', []);
var gems = [
{ name: 'Azurite', price: 2.95, canPurchase: true},
{ name: 'Bloodstone', price: 5.95, canPurchase: true},
{ name: 'Zircon', price: 3.95, canPurchase: true},
];
app.controller('StoreController', function(){
this.products = gems;
});
})();
基本上我只想要添加到购物车&#39;按钮显示对象何时可以购买&#39;设置为true。 现在,我可以通过这样做来获得按钮的唯一方法:
<button ng-show="!store.product.canPurchase">Add to Cart</button>
就好像canPurchase下的值没有做任何事情都被设置为true或false。 请帮助我理解这个以及为什么它不能正常工作。
答案 0 :(得分:2)
您需要使用
<button ng-show="product.canPurchase">Add to Cart</button>
目前store.product.canPurchase
内没有ng-repeat
。我很确定它就是这样。如果您没有引用单个产品项,则表达式无效。
已确认更改此内容适用于此jsfiddle here