我正在尝试接受来自表单的用户输入。我可以成功访问输入,并且可以将数据从对象打印到控制台,但是当我尝试将此对象推送到我存储在 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/