如何使用AngularJS将数据重置为Bootstrap模式中的默认值?

时间:2016-06-28 07:47:58

标签: javascript angularjs twitter-bootstrap

如何使用AngularJS将数据重置为Bootstrap模式中的默认值? 这就是我想要做的事情:

$scope.initial = [
    {
      name: 'nam_fruit',
      price: 0
    }];

    $scope.reset = function(){
    $scope.dataFruit = $scope.initial;  
  } 

但它不起作用。字段仍然有旧数据。检查我的小提琴: http://jsfiddle.net/q69yckt1/

2 个答案:

答案 0 :(得分:2)

您正在将数组指定为初始模型。只需删除[],这应该有效:

$scope.initial =
{
  name: 'nam_fruit',
  price: 0
};

$scope.reset = function(){
  $scope.dataFruit = angular.copy($scope.initial);  
} 
如同devqon在评论中提到的那样,如果你只使用$scope.initial,你还应该创建$scope.dataFruit = $scope.initial;的副本,因为它只是一个参考副本。

This是工作小提琴。

答案 1 :(得分:0)

var vm = this;
//(like a private field)
var initial_is_editable = true;
vm.initial = [{
  name: 'nam_fruit',
  price: 0
},{
  name: 'nam_fruit',
  price: 0
}];

function reset(reset_modal_index){
  if(initial_is_editable){
    vm.initial[reset_modal_index].name = "default_name"; 
    vm.initial[reset_modal_index].price= "default_price"; 
  }
  vm.dataFruit[reset_modal_index] = vm.initial[reset_modal_index];
} 

如果我理解正确:我们有一组dataFruit模态,我们正在将所选数据的数据重置为初始值。