angular 中的非负数按钮
Non-negitive number button in angular
我正在使用 ionic 框架创建一个计数应用程序。我有一个带有预定义数字(在 services.js 中)的正按钮和一个具有相同预定义数字的相应负数以减去该数字。这是模板代码;
<a class="item list-inset item-thumbnail-left item item-button-right">
<img ng-src=" {{ menu.imgsrc1 }} ">
<h2>{{ menu.foodItem1 }}</h2>
<p>{{ menu.data1 }}</p>
<button id="plus" class="button button-icon icon round-button" ng-click="count = count + {{ menu.calories1 }} "> {{ menu.calories1 }} </button>
<button id="minus" class="button button-icon icon round-button" ng-click="count = count - {{ menu.calories1 }} "> - </button>
</a>
这是服务代码;
var menus = [
{
title: 'Breakfast',
foodItem1: "Cereal",
data1: 'Calories per 250g serving',
imgsrc1: "img/almond.jpg",
calories1: 17,
foodItem2: "Bread",
data2: 'Calories per wholegrain slice',
imgsrc2: "img/almond.jpg",
calories2: 25,
foodItem3: "Pastries",
data3: 'Calories per piece',
imgsrc3: "img/almond.jpg",
calories3: 75
},
{
title: 'Lunch',
description: 'Wrap, Sandwich, Soup...',
foodItem1: 'Wrap',
data1: 'Calories per wholegrain wrap',
imgsrc1: "img/almond.jpg",
calories1: 567,
foodItem2: "Sandwich",
data2: 'Calories per brown slice',
imgsrc2: "img/almond.jpg",
calories2: 567,
foodItem3: "Chicken soup",
data3: 'Calories per 250ml bowl',
imgsrc3: "img/almond.jpg",
calories3: 567
}
];
我不希望负数低于零。我的理解是,我需要使用 Math.floor() 方法来抵消按钮进入负区,但我如何在不损害现有内容的情况下编写它。我需要另一个控制器吗?
我试着理解你的期望:
您不希望该数字 count = count - {{ menu.calories1 }}
为负数?
首先,我从不向 HTML 添加数据操作。我调用了具有数据操作功能的控制器。
例如这个:
<button id="minus" class="button button-icon icon round-button" ng-click="count = count - {{ menu.calories1 }} "> - </button>
将更改为
<button id="minus" class="button button-icon icon round-button" ng-click="removeCal(menu.calories1)"> - </button>
并在您的控制器中创建 removeCal 函数
$scope.removeCal = function(val) {
$scope.count -= val;
}
然后,如果您希望该数字始终 >= 0,只需添加一个 if 规则来管理该情况
$scope.removeCal = function(val) {
$scope.count -= val;
if($scope.count <0)
$scope.count = 0;
}
我正在使用 ionic 框架创建一个计数应用程序。我有一个带有预定义数字(在 services.js 中)的正按钮和一个具有相同预定义数字的相应负数以减去该数字。这是模板代码;
<a class="item list-inset item-thumbnail-left item item-button-right">
<img ng-src=" {{ menu.imgsrc1 }} ">
<h2>{{ menu.foodItem1 }}</h2>
<p>{{ menu.data1 }}</p>
<button id="plus" class="button button-icon icon round-button" ng-click="count = count + {{ menu.calories1 }} "> {{ menu.calories1 }} </button>
<button id="minus" class="button button-icon icon round-button" ng-click="count = count - {{ menu.calories1 }} "> - </button>
</a>
这是服务代码;
var menus = [
{
title: 'Breakfast',
foodItem1: "Cereal",
data1: 'Calories per 250g serving',
imgsrc1: "img/almond.jpg",
calories1: 17,
foodItem2: "Bread",
data2: 'Calories per wholegrain slice',
imgsrc2: "img/almond.jpg",
calories2: 25,
foodItem3: "Pastries",
data3: 'Calories per piece',
imgsrc3: "img/almond.jpg",
calories3: 75
},
{
title: 'Lunch',
description: 'Wrap, Sandwich, Soup...',
foodItem1: 'Wrap',
data1: 'Calories per wholegrain wrap',
imgsrc1: "img/almond.jpg",
calories1: 567,
foodItem2: "Sandwich",
data2: 'Calories per brown slice',
imgsrc2: "img/almond.jpg",
calories2: 567,
foodItem3: "Chicken soup",
data3: 'Calories per 250ml bowl',
imgsrc3: "img/almond.jpg",
calories3: 567
}
];
我不希望负数低于零。我的理解是,我需要使用 Math.floor() 方法来抵消按钮进入负区,但我如何在不损害现有内容的情况下编写它。我需要另一个控制器吗?
我试着理解你的期望:
您不希望该数字 count = count - {{ menu.calories1 }}
为负数?
首先,我从不向 HTML 添加数据操作。我调用了具有数据操作功能的控制器。
例如这个:
<button id="minus" class="button button-icon icon round-button" ng-click="count = count - {{ menu.calories1 }} "> - </button>
将更改为
<button id="minus" class="button button-icon icon round-button" ng-click="removeCal(menu.calories1)"> - </button>
并在您的控制器中创建 removeCal 函数
$scope.removeCal = function(val) {
$scope.count -= val;
}
然后,如果您希望该数字始终 >= 0,只需添加一个 if 规则来管理该情况
$scope.removeCal = function(val) {
$scope.count -= val;
if($scope.count <0)
$scope.count = 0;
}