[英]How to add items to list from one single input
我有以下代碼: jsfiddle
HTML :
<div ng-app="test">
<div ng-controller="ListCtrl">
<input type="email" ng-model="newContact" ng-keyup="$event.keyCode==13?addContact():''"/>
<ul>
<li ng-repeat="email in newContacts">
{{ email }}
</li>
</ul>
</div>
</div>
JAVASCRIPT:
angular
.module('test', [])
.controller('ListCtrl', function($scope) {
$scope.newContact= 'somestring'
$scope.newContacts = [];
$scope.addContact = function() {
$scope.newContacts.push($scope.newContact);
$scope.newContact = '';
};
})
;
但是它沒有按預期工作。 我期望輸入將預先填充一些somestring
但它將為空。
我第一次在空輸入上somestring
Enter keyCode==13
( keyCode==13
),即使在輸入字段somestring
不到somestring
, somestring
也將添加到列表中。
無論我在輸入中輸入了什么,我第二次點擊Enter都會添加一個空字符串。
如果更改輸入並按Enter,則將null
或''
添加到列表中。
誰能指出我正確的方向?
問題是您的輸入類型是電子郵件,並且您傳遞了一個無效的字符串,例如,如果我更改為文本類型,則在提琴中將其按預期工作,或者如果插入有效的電子郵件,您想保留輸入的電子郵件類型
$ scope.newContacts為空。 您沒有在控制器功能中進行迭代。 您只需定義一個函數即可迭代或求助數組,而無需執行該函數。 您需要執行內部功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.