gpt4 book ai didi

javascript - 将数据从子 Controller 推送到父 Controller [angularjs]

转载 作者:行者123 更新时间:2023-11-28 05:55:29 25 4
gpt4 key购买 nike

我试图将城市对象推送到父 Controller 中的数组。回复是“无法读取未定义的属性‘push’”。无论如何要解决这个问题吗?

ChildCtrl 嵌套在 ParentCtrl 内。

<!DOCTYPE html>
<html lang="en" ng-app="citieApp">

<body>
<div class="container">
<div ng-controller="ParentCtrl">
{{cites to be listed here ON UPDATE from the child controller}}


<div ng-controller="ChildCtrl">
<form>
<!--This inputs are to insert cities-->
<input type="text">
<input type="text">
<input type="text">
<button>Submit Cities</button>
</form>
</div>
</div>
</div>
</body>

</html>

function ParentCtrl($scope) {
$scope.cities = [{
america: [{
'alberta', 'NY', 'chicago', 'LA'
}, {
'atlanta', 'New town', 'boston', 'boulder'
}, {
'dallas', 'austin', 'denver', 'colombus'
}]
}, {
europe: [{
'london', 'paris', 'Helsinki'
}, {
'berlin', 'rome', 'tallin'
}, {
'lisbon', 'amsterdam', 'brussels'
}]
}];
};

function ChildCtrl($scope) {
$scope.cities.europe.push({
'barcelona', 'madrid', 'manchester'
});
}

我试图将城市对象推送到父 Controller 中的数组。回复是“无法读取未定义的属性‘push’”。无论如何要解决这个问题吗?

最佳答案

在您的代码中:

  function ParentCtrl($scope) {
$scope.cities = [{
america: [{
'alberta', 'NY', 'chicago', 'LA'
}, {
'atlanta', 'New town', 'boston', 'boulder'
}, {
'dallas', 'austin', 'denver', 'colombus'
}]
}, {
europe: [{
'london', 'paris', 'Helsinki'
}, {
'berlin', 'rome', 'tallin'
}, {
'lisbon', 'amsterdam', 'brussels'
}]
}];
};

这里,

 $scope.cities[0] = {
america: [{
'alberta', 'NY', 'chicago', 'LA'
}, {
'atlanta', 'New town', 'boston', 'boulder'
}, {
'dallas', 'austin', 'denver', 'colombus'
}]
};


$scope.cities[1] = {
{
europe: [{
'london', 'paris', 'Helsinki'
}, {
'berlin', 'rome', 'tallin'
}, {
'lisbon', 'amsterdam', 'brussels'
}]
};

但是在你的clild Controller中你使用::

   function ChildCtrl($scope) {
$scope.cities.europe.push({
'barcelona', 'madrid', 'manchester'
});
}

您将数据推送europe对象中,但europe对象在$scope.cities中不可用。您可以更改您的 $scope.cities 如下所示:

  $scope.cities = {
america: [{
'alberta', 'NY', 'chicago', 'LA'
}, {
'atlanta', 'New town', 'boston', 'boulder'
}, {
'dallas', 'austin', 'denver', 'colombus'
}], {
europe: [{
'london', 'paris', 'Helsinki'
}, {
'berlin', 'rome', 'tallin'
}, {
'lisbon', 'amsterdam', 'brussels'
}]
};

关于javascript - 将数据从子 Controller 推送到父 Controller [angularjs],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37729934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com