0

Я новичок в AngularJS, я попробовать и сделать код нижеAngularJS нг - повтор, нг - модель на ввод текста странное поведение

var app = angular.module('SomeApp', []); 

app.controller('QuotationController', function($scope) { 

    $scope.init = function(){ 
    $scope.chargableDescription = [""]; 
    $scope.chargablePrice = []; 
    $scope.chargableQuantity = []; 
    $scope.chargableTotal = []; 

    } 

    $scope.chargableInput = function($last){ 

    if ($last) { 
     $scope.chargableDescription.push([""]); 
    } 
    } 
}); 

В принципе, то, что я пытаюсь достичь здесь, чтобы вставить целое группа ввода, когда пользователь вводит что-то в последнее поле с заряжаемым сообщением.

 <div class="chargable-group" ng-repeat="item in chargableDescription" > 

      <div class="col-md-3"> 
       <label class="form-control-label" for="l2" id="chargable-label">Chargable Item</label> 
      </div> 

      <div class="col-md-9" id="chargable-header"> 
       <textarea name="chargable[]" class="form-control dynamic chargable" placeholder="Chargable Description" ng-model="chargableDescription[$index]" ng-keypress="chargableInput($last)"> </textarea> 
       <br> 
       <input type="number" class="form-control" step="0.01" name="chargable-price-1" placeholder="Chargable Price" ng-model="chargablePrice[$index]"> 
       <br> 
       <input type="number" class="form-control" name="chargable-quantity-1" placeholder="Chargable Quantity" ng-model="chargableQuantity[$index]"> 
       <br> 
       <input type="number" class="form-control" step="0.01" name="chargable-total-1" placeholder="Chargable Total" readonly ng-model="chargableTotal[$index]" > 
      </div> 

     </div> 

Это делает трюк, однако, я задаюсь вопросом, почему, когда я делать какие-либо вклад в текстовое поле, курсор исчезнет, ​​как только я ввода символов. Как удалить это поведение и что будет фактором, вызывающим это поведение?

UPDATE:

решаемые Я добавил нг-модель-опции = {updateOn: 'размытость'}, и кажется, что это решает проблему

+0

Пожалуйста, удалите вопрос, поскольку он всегда будет отображаться в неотвеченном обратном порядке, и он будет тратить время на то, когда они начнут его читать, чтобы его решить. Или иначе напишите [Solved] в самом заголовке. –

ответ

0

Это работает для меня https://plnkr.co/IV9t4fhln5v3l81NHaPC

Что ваш Угловая версия?

(function() { 

    'use strict'; 

    var app = angular.module('SomeApp', []); 

    app.controller('QuotationController', function($scope) { 

    $scope.init = function() { 
     $scope.chargableDescription = [""]; 
     $scope.chargablePrice = []; 
     $scope.chargableQuantity = []; 
     $scope.chargableTotal = []; 

    } 

    $scope.chargableInput = function($last) { 

     if ($last) { 
     $scope.chargableDescription.push([""]); 
     } 
    } 

    $scope.init(); 
    }); 


})(); 
+0

Я вижу, что он работает над ссылкой выше, но он не работает со мной. Но почему вы добавляете $ scope.init(); после логики? Разве это не обновление начального значения? Я добавил ng-model-options = {updateOn: 'blur'}, и он работает просто хорошо, но я действительно удивляюсь, почему. Знаете ли вы, почему? Спасибо за ваш ответ и надеюсь, что вы можете мне объяснить, потому что я действительно новичок в AngularJS. @ Карл Сан-Габриэль –