gpt4 book ai didi

javascript - 使用 AngularJS "copy()"来避免引用问题

转载 作者:可可西里 更新时间:2023-11-01 01:25:00 25 4
gpt4 key购买 nike

我正在显示一个项目列表,每个项目旁边都有一个“编辑”按钮。点击打开一个 Angular ui 模式窗口,用户可以更改特定项目的一些属性。

现在,让我烦恼的是,当在此编辑窗口中键入时,项目列表中的特定项目会立即反射(reflect)出更改。我只希望它在用户单击模式中的“确定”时更新,如果用户选择“取消”则根本不更改。

我的解决方法是使用 copy 制作一个,好吧,所选项目的副本,然后用作 View 的模型:

var modalInstance = $modal.open({
templateUrl: 'scripts/app/views/editBond.html',
controller: function ($scope, $modalInstance, bond) {
$scope.bond = angular.copy(bond);
$scope.ok = function () {
$modalInstance.close($scope.bond);
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
},
resolve: {
bond: function () {
return bond;
}
}
});

使用 angular.copy() 是否适合避免此类问题?这到底是范围问题吗?

最佳答案

是的,在这里使用 angular.copy() 是绝对合适的。如果您想要更高级的东西,您可能需要查看 angular-history

关于javascript - 使用 AngularJS "copy()"来避免引用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22622449/

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