我正在尝试组合一个 ng select 来选择这些数量:
"splits":[
1,
2,
3,
4,
5,
6,
8
],
<select ng-options="?" ng-model="ticket_group.quantity" </select>
然后我想显示价格乘以他们选择的数量
<div style="text-align: center;font-size:25px;"><b> ${{ticket_group.retail_price * ticket_quantity}} USD</b>
那么我会为此引用 ng-model 吗?
请帮我找出 ng-select 并让它显示最终价格
最佳答案
ng-model
不是问题,考虑到您希望 $scope.ticker_group.quantity
在最后保持值。
你需要设置的是ng-options
。首先,这些选项必须在范围内:
$scope.splits = [
1,
2,
3,
4,
5,
6,
8
];
这是一个例子。您使用了一个键(即 splits
属于文字对象),因此您必须确保具有此类键的对象(直接或不属于)属于 $scope
。
按照我的示例,splits
现在在范围内,所以我可以将它用作 ng-options
中的数据绑定(bind)表达式。
ng-options
需要指定 key:value,所以语法是:
ng-options="foo as bar for (foo, bar) in anObject"
所以如果你有任何对象,你可以迭代键(属性)和值。请注意 foo
和 bar
是示例(您可以使用任何名称,确保这些名称不是保留字),其中 foo
声明在定义键的地方(即每个 option
对象的 value
属性),并且 bar
在定义标签的地方声明选项。
作为替代方案,如果您迭代一个数组对象而不是其他类对象,您可以这样指定:
ng-options="foo as foo for foo in anArray"
这将生成具有标签值的选项(相同的内容)。您将像这样使用它们:
ng-options="val as val for val in splits"
并且如果您有一个对象数组并希望从这些对象的属性中指定值和标签,例如:
$scope.people = [{dni:32111269, nombre:"Pepe Galleta"}, {dni:11111111, nombre:"Nestor Kirchner"}, {dni:12345678, name:"Mi Abuela"}, {dni: 23456789, nombre:"Tu Hermana"}];
并希望将 dni
作为值,将 nombre
作为标签,您可以使用:
ng-options="foo.dni as foo.nombre for foo in people"
在这里查看更多:https://docs.angularjs.org/api/ng/directive/select
谁将持有该值?:一旦您使用选择器,您在 ng-model
指令中设置的表达式将成为所选值的持有者。 p>
也许你想使用:
$scope.$watch('splits', function(v){
...
});
显示被 splits
值修改的价格。
关于javascript - ng-选择 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25373217/