【问题标题】:angularJS ng-model not updating values in controllerangularJS ng-model 不更新控制器中的值
【发布时间】:2018-10-11 09:05:40
【问题描述】:

我不知道我错过了什么!

我有一个图例,用户可以选择每种颜色的描述, 但是当我尝试编辑文本时,它会在视图中更新,但是一旦我刷新所有更改都会恢复,那么如何将更改保留在控制器中?

<div ng-repeat="s in legendItems">
 <div class="epLegendeColorBoxPopover" ng-style='{"background-color": s.color}'></div><input type="text" ng-model="s.description">
</div>

这里有一个小提琴

http://jsfiddle.net/NfPcH/23697/

谢谢

【问题讨论】:

  • angular 不会保存数据。当您刷新页面时,它将进入他的默认表单。您将不得不在某些特定事件中保存数据。这可能是模糊或按钮点击
  • 当您从共享的小提琴中更改其值时,我可以看到它已更新
  • angularjs 用于 SPA(单页应用程序),它不应该刷新并留下单页。它只呈现不同的内容。每次刷新时,它都会重置视图中的所有内容。
  • 我不能在输入字段旁边放一个按钮,用 ng-click 更新控制器中的值吗?那个 ng-click 会是什么样子?谢谢
  • @AJ989 如果您想立即检测更改,请将ng-changed="your_function()" 添加到您的输入字段。你想做出什么改变?

标签: html angularjs twitter-bootstrap-3


【解决方案1】:

好吧,既然您没有提供任何数据存储位置的信息...我正在使用localStorage

小提琴:http://jsfiddle.net/NfPcH/23699/

使用localStorage 不是一个好习惯...但基本上可以解决您的问题...

【讨论】:

  • 非常感谢,这是我现在所需要的,直到我从可以发送到更改的数据库中获取数据之前,我将使用 localStorage!
  • Np... 乐于助人! :)
【解决方案2】:

您没有将它保存在任何地方,因此重新加载控制器初始化其$scope 变量。 对于永久更改,您应该使用 Some database 或者您可以使用 Localstorage

【讨论】:

  • 但您可以在评论部分发布此内容,因为您的帐户中有 50 rps。如果有人将其标记为否决,您将失去您的 rps,休息是您的选择
猜你喜欢
  • 2012-09-19
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
  • 2016-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-21
相关资源
最近更新 更多