angular js ng-show 不工作
angular js ng-show is not working
Html代码:
<div ng-controller="StoreController">
<div ng-repeat="store in gems">
{{store.name}}<br>
{{store.price}}
{{store.canPurchase}}
{{store.soldOut}}
<button ng-show="store.canPurchase">Add to Cart</button>
</div>
</div>
JS代码:
myApp.controller('StoreController', ['$scope', function($scope){
$scope.gems=[
{name: 'Azurite', price: '110.50', canPurchase: 'false', soldOut: 'true'},
{name: 'Azurite +', price: '120.50', canPurchase: 'true', soldOut: 'false'}
];
}]);
我尝试使用 ng-show="true" 和 ng-show="false",我的代码按预期工作。
我正在 html 页面上打印 store.canPurchase 值,并且值显示正确。
但是当我在 ng-show 中给出 store.canPurchase 时,代码不起作用。
去掉引号就可以了。 canPurchase 的 false 和 true 值现在是字符串 ("") 而不是布尔值。
$scope.gems=[
{name: 'Azurite', price: '110.50', canPurchase: false, soldOut: true},
{name: 'Azurite +', price: '120.50', canPurchase: true, soldOut: false}
];
顺便说一句,soldOut 也是如此 :)
Html代码:
<div ng-controller="StoreController">
<div ng-repeat="store in gems">
{{store.name}}<br>
{{store.price}}
{{store.canPurchase}}
{{store.soldOut}}
<button ng-show="store.canPurchase">Add to Cart</button>
</div>
</div>
JS代码:
myApp.controller('StoreController', ['$scope', function($scope){
$scope.gems=[
{name: 'Azurite', price: '110.50', canPurchase: 'false', soldOut: 'true'},
{name: 'Azurite +', price: '120.50', canPurchase: 'true', soldOut: 'false'}
];
}]);
我尝试使用 ng-show="true" 和 ng-show="false",我的代码按预期工作。
我正在 html 页面上打印 store.canPurchase 值,并且值显示正确。
但是当我在 ng-show 中给出 store.canPurchase 时,代码不起作用。
去掉引号就可以了。 canPurchase 的 false 和 true 值现在是字符串 ("") 而不是布尔值。
$scope.gems=[ {name: 'Azurite', price: '110.50', canPurchase: false, soldOut: true}, {name: 'Azurite +', price: '120.50', canPurchase: true, soldOut: false} ];
顺便说一句,soldOut 也是如此 :)