0

ビューに次の入力フィールドがあります

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

ここで欲しいのは、モデル変数 totaltotalClicksを、ユーザーが入力しない限り UI に反映されない初期値に設定することです。

で初期化すると

$scope.totalClicks = {};

また

$scope.totalClicks = '';

ユーザーが入力するまで、プレースホルダーは正しく表示されます。ただし、モデル変数 totalClicks は更新されず、初期化されたままになります。

に設定した場合

$scope.totalClicks = 0;

then0は入力に表示され、プレースホルダーは表示されませんが、モデルは更新されます。

何かアドバイスはありますか?

アップデート:

追加した

$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 つのテキスト ボックスがあるため、1 つの入力ボックスでモデルを変更すると、もう 1 つの入力ボックスも変更されるはずです。(例には ionic フレームワークが含まれます) 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 に答える