0

我的视图中有以下输入字段

<input type="number" min="0" placeholder="7500" ng-model="totalClicks" required>

我现在想要的是将模型变量 total 设置totalClicks为不会反映到 UI 的初始值,除非用户进行输入。

如果我初始化

$scope.totalClicks = {};

或者

$scope.totalClicks = '';

然后占位符正确显示,直到用户进行输入。但是,模型变量 totalClicks 不会更新,并保持初始化状态。

如果我将其设置为

$scope.totalClicks = 0;

然后0显示在输入中,占位符不显示,但模型已更新。

有什么建议吗?

更新:

添加

$scope.funnel = {};
$scope.funnel.totalClicks = 9;
<input type="number" min="0" placeholder="7500" ng-model="funnel.totalClicks" required>

现在占位符在页面加载时显示,但在我更改输入时$scope.funnel.totalClicks仍然存在9

更新#2: 这是一个关于 plunker 的例子。有 2 个文本框绑定到同一个模型,因此当我在一个输入框中更改模型时,另一个也应该更改。(示例包括离子框架) http://plnkr.co/edit/F4fOGMBA8eFJ9vdyuDvm

4

2 回答 2

1

以下是更新 totalClicks ngModel 的工作示例。

<html ng-app="ExamplesApp">  
  <head> 
    <script src="angular.js"></script>   
  </head>  
 <body ng-controller="ExCtrl">
   <input type="number" min="0" placeholder="7500" ng-model="totalClicks" required>
   <button ng-click="clicks()">Click</button>   
   <script type="text/javascript">
     angular.module('ExamplesApp',[]);
     angular.module('ExamplesApp')
      .controller('ExCtrl',function($scope){
        $scope.totalClicks = '';         
        $scope.clicks= function(){
          alert($scope.totalClicks);
        };
      });
   </script>
 </body>
</html> 

JSFiddle:http: //jsfiddle.net/StT2y/2/

于 2014-04-29T06:25:15.733 回答
0

将值和模型定义为 totalClicks 对象的属性。

$scope.totalClicks = {}
$scope.totalClicks.amount = 0;

<input type="number" min="0" placeholder="7500" ng-model="totalClicks.amount" required>
于 2014-04-29T05:12:20.473 回答