Javascript 在AngularJS中保存模型的静态副本

Javascript 在AngularJS中保存模型的静态副本,javascript,model-view-controller,angularjs,Javascript,Model View Controller,Angularjs,现在我有这样的观点: <input ng-model="kunde" type="text"> 现在的问题是,当然,每次我用输入字段更改模型时,setter函数都会自动触发 现在我的问题是,如何以静态方式从视图中保存模型,即http post请求。我不想每次更改视图时都发布请求 谢谢您可以使用angular.copy复制您的对象: 我的简单失败 如果出现如下语法错误: <button ng-on-click="{{send()}}"> <button ng-on

现在我有这样的观点:

<input ng-model="kunde" type="text">
现在的问题是,当然,每次我用输入字段更改模型时,setter函数都会自动触发

现在我的问题是,如何以静态方式从视图中保存模型,即http post请求。我不想每次更改视图时都发布请求


谢谢

您可以使用angular.copy复制您的对象:

我的简单失败

如果出现如下语法错误:

<button ng-on-click="{{send()}}">
<button ng-on-click="send()">

应该是这样的:

<button ng-on-click="{{send()}}">
<button ng-on-click="send()">

每次使用输入操作模块时,都会触发send()方法。 是否与方法有关


感谢您的回答。

它是如何自动触发的?是对象、数组还是原语?如果它是一个对象或数组,如果您不想更改
$scope.kunde
也要更改您在factory中设置的对象/数组,则需要创建一个副本。@rtcherry kunde是一个对象,这正是我想做的,每次我通过输入编辑scope对象时,它触发函数,工厂中的对象被覆盖。但是我想要一个范围对象的“快照”,它不会因为输入的改变而被编辑。@Bart因为sope对象被定义为函数的一个参数,并且每次范围对象被模型输入编辑时,它都会触发。我是否可能在找像$destroy这样的东西?嗯…你有语法的例子吗?我这样试过:
$scope.setKunde=function(kunde){var newKunde=angular.copy(kunde);calcFactory.setKunde(newKunde);}并且它仍然以与以前相同的“false”方式工作。