javascript - 在 $scope 对象数组上使用 .push() 不会将推送的对象添加到数组中

标签 javascript arrays angularjs

我正在尝试接受来自表单的用户输入。我可以成功访问输入,并且可以将数据从对象打印到控制台,但是当我尝试将此对象推送到我存储在 Controller 中的对象数组时,它不起作用。

这是我的代码的一小段:

$scope.dogs = [
    {
      name: "Blinky",
      age: "2",
      owner: "Martha Franklin",
      vaccinated: "Y"
    },
    {
      name: "Spot",
      age: "4",
      owner: "Martha Franklin",
      vaccinated: "Y"
    }];

$scope.dog = {
      name: "",
      age: "",
      owner: "",
      vaccinated: ""
    };

$scope.savePet = function(){
  //console.log($scope.dog.name); This prints the name in the input HTML form
  $scope.dogs.push($scope.dog); //THIS DOESN'T STORE IN THE INFORMATION
};

就像我之前所说的,我试图将一个对象推到对象数组的末尾,但它不起作用。这一切都发生在 AngularJS 模块的 Controller 内。

最佳答案

$scope.dogs = [
{
  name: "Blinky",
  age: "2",
  owner: "Martha Franklin",
  vaccinated: "Y"
},
{
  name: "Spot",
  age: "4",
  owner: "Martha Franklin",
  vaccinated: "Y"
}];

  $scope.dog = {
  name: "john",
  age: "44",
  owner: "rocky",
  vaccinated: "n"
};

$scope.savePet = function(){
 console.log($scope.dog.name); 
 $scope.dogs.push($scope.dog); //THIS DOESN'T STORE IN THE INFORMATION
 console.log($scope.dogs); 
 };

$scope.dog 值为空,因此它不起作用... 在 $scope.dog 中添加值。 你的代码很好。

关于javascript - 在 $scope 对象数组上使用 .push() 不会将推送的对象添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31445551/

相关文章:

c - 使用 malloc() 分配内存块

javascript - 使用 Node 和 Angular 创建新应用程序以进行自动登录 --- 需要见解

css - 在指令模板内绑定(bind)样式值

javascript - 自定义 Jasmine 匹配器和 Protractor

python - 是否有一个 NumPy 函数来返回数组中某物的第一个索引?

javascript - casperjs getelementbyid 工作但 getelementbyname 不工作

java - 使用 FileInputStream/ObjectOutputStream 发送大文件

javascript - 动态更改 Angular Bootstrap Datepicker 的语言

javascript - Google 表格自定义函数条件格式

javascript - 在负数之前中断 while 循环