Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS设置默认选择值_Angularjs - Fatal编程技术网

AngularJS设置默认选择值

AngularJS设置默认选择值,angularjs,Angularjs,基本的“购物车”场景。用户应该在表单环境中选择他们想要的产品。每种产品都有一个核心价格和多个附加选项,可在选择时更改价格 产品和选项显示在以下两个选择字段中: $scope.products = [ { name:'Product A', cost:5, options: [{name:"Option 1", value:10}] }, { name:'Product B', cost:10, options: [{name:"Option 1"

基本的“购物车”场景。用户应该在表单环境中选择他们想要的产品。每种产品都有一个核心价格和多个附加选项,可在选择时更改价格

产品和选项显示在以下两个选择字段中:

$scope.products = [
{
    name:'Product A',
    cost:5,
    options: [{name:"Option 1", value:10}]
},

{
    name:'Product B',
    cost:10,
    options: [{name:"Option 1", value:10},{name:"Option 2", value:15}]
}
];

$scope.cart = {
    items: [{            
        qty: 1,
    }]
};


{{calculate()}}

如何设置购物车项目的默认值?

您可以对项目进行监视

添加项目后,应将该项目的产品指定为第一个产品。诸如此类:

$scope.$watchCollection('cart.items', function(newValue, oldValue){
   var changedItem = newValue[newValue.length-1];
   changedItem.product = $scope.products[0];
});

当然,假设您知道$scope.products是一个数组,并且它不是空的。你可以检查一下。不管怎么说,我认为有默认值是很奇怪的,但是有一种方法适合您。

我如何设置购物车项目的默认值
您的意思是防止它们在开始时为空吗?
$scope.$watchCollection('cart.items', function(newValue, oldValue){
   var changedItem = newValue[newValue.length-1];
   changedItem.product = $scope.products[0];
});