Javascript AngularJS ng-重复,ng-输入文本上的模型奇怪行为
我是AngularJS的新手,我尝试执行下面的代码Javascript AngularJS ng-重复,ng-输入文本上的模型奇怪行为,javascript,angularjs,angularjs-ng-repeat,angularjs-ng-model,Javascript,Angularjs,Angularjs Ng Repeat,Angularjs Ng Model,我是AngularJS的新手,我尝试执行下面的代码 var app = angular.module('SomeApp', []); app.controller('QuotationController', function($scope) { $scope.init = function(){ $scope.chargableDescription = [""]; $scope.chargablePrice = []; $scope.chargable
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([""]);
}
}
});
基本上,我在这里试图实现的是,当用户在最后一个chargabledDescription字段中输入内容时,插入整个输入组
<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>
收费项目
但是,我想知道为什么当我在文本区域输入任何内容时,一旦我输入一个字符,光标就会消失。
如何消除这种行为以及导致这种行为的因素是什么
更新:
解决
我添加了ng模型选项={updateOn:'blur'},它似乎解决了这个问题它对我有效
你的角度是什么
(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();
});
})();
请删除该问题,因为它将始终显示在“未回答”中,否则,当任何人开始阅读它时,为了解决它,它将浪费任何人的时间。或者,在标题中写下[已解决]。我可以看到它在上面的链接上起作用,但它对我不起作用。但是为什么要添加$scope.init();在逻辑之后?这不是初始值吗?我添加了ng模型选项={updateOn:'blur'},效果很好,但我确实想知道为什么。你知道为什么吗?谢谢你的回答,希望你能解释给我听,因为我对AngularJS真的很陌生@卡尔·圣加布里埃尔