gpt4 book ai didi

javascript - 在对象声明中出现未定义的错误

转载 作者:行者123 更新时间:2023-11-29 23:45:46 24 4
gpt4 key购买 nike

下面是我的对象:

$scope.obj = {
name: null,
child: { name : name}
};

<input type="text" ng-model="obj.name" />

我想做的是,当我的 obj.name 属性中有最新值时,它应该会自动反射(reflect)在 obj.child.name 属性中。

我总是想使用更新后的值,并且在我使用 obj.child.name 属性的任何地方,如果我忘记像下面这样分配,那么稍后:

$scope.obj.child.name = $scope.obj.name

然后它将始终使用旧值,我不想在这么多地方这样做。所以我希望这个过程像 name $scope.obj.name 更新时一样自动化;它应该自动更新 $scope.obj.child.name。

但是使用上面的代码我得到了错误:name is undefined

为什么上面的声明是不可能的,如何实现?

最佳答案

您得到 name is undefined 因为 JavaScript 正在尝试查找 name 全局范围内的对象,但找不到它,在此代码中:

child: { name : name//undefined}

你可以这样定义它:

$scope.obj = {
name: "Ay"
};
$scope.obj.child = {
name: $scope.obj.name
}

我们将在此处引用 child 属性声明中的 $scope.obj.name,以便正确绑定(bind)。

关于javascript - 在对象声明中出现未定义的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44255983/

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