javascript - View 的更改不会更新模型范围变量

标签 javascript angularjs

所以我把它作为 HTML

<p>Total: $ {{total}}</p>
<p>Paid: $ {{paid}}</p>
<p>Due: $ {{due}}</p>
<div>
  <p>Cash: <input type="text" ng-model="cash" /></p>
  <p>Card: <input type="text" ng-model="card" /></p>
</div>

这是 Javascript

app.controller('myController', function($scope){
   $scope.total = 28;
   $scope.cash = 0;
   $scope.card = 0;
   $scope.paid = $scope.cash + $scope.card;
   $scope.due = $scope.total - $scope.paid;
});

因此,当页面加载时,值将按预期填充:

  • 现金输入框设置为0
  • 卡片输入框设置为0
  • 总数显示为 28
  • 付费显示为 0
  • 到期时间显示为 28

但是当我在现金或卡文本框中输入内容时,PaidDue 值不会更新并保持在 028 分别。

所以从某种意义上说,当我更新 View 时,模型并没有更新自身。我一定错过了一些非常基本的东西,但从过去一个小时以来它一直困扰着我。

编辑

这是JSFiddle为了您的方便

最佳答案

你也可以这样做

<div ng-app="myApp">

  <div ng-controller="myController">
    <p>Total: $ {{total}}</p>
    <p>Paid: $ {{cash + card}}</p>
    <p>Due: $ {{total - (cash + card)}}</p>
    <div>
      <p>Cash:
        <input type="number" ng-model="cash" />
      </p>
      <p>Card:
        <input type="number" ng-model="card" />
      </p>
    </div>

  </div>

</div>

var app = angular.module("myApp", []);
app.controller('myController', function($scope) {
  $scope.total = 28;
  $scope.cash = 0;
  $scope.card = 0;
});

Fiddle updated

关于javascript - View 的更改不会更新模型范围变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44158653/

相关文章:

javascript - 如何链接 javascript 选择器

angularjs - 如何在 Nodejs、ExpressJS 中使用外部 js 文件

javascript - 在 angularjs 中验证确认密码时禁用提交

javascript - Storybook 组件级 css 文件不起作用

javascript - 无需提交即可获取文本字段值(html)

javascript - AngularJS 嵌套指令中的双向数据绑定(bind)

javascript - AngularJS 应用程序配置 "Uncaught object"错误 (ngRoute)

javascript - Angular JS 条件 CSS 类不起作用

javascript工程输入库

javascript - 不能两次使用 jquery 请求变量