簡體   English   中英

如何從一個輸入中添加項目到列表

[英]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==13keyCode==13 ),即使在輸入字段somestring不到somestringsomestring也將添加到列表中。

無論我在輸入中輸入了什么,我第二次點擊Enter都會添加一個空字符串。

如果更改輸入並按Enter,則將null''添加到列表中。

誰能指出我正確的方向?

問題是您的輸入類型是電子郵件,並且您傳遞了一個無效的字符串,例如,如果我更改為文本類型,則在提琴中將其按預期工作,或者如果插入有效的電子郵件,您想保留輸入的電子郵件類型

$ scope.newContacts為空。 您沒有在控制器功能中進行迭代。 您只需定義一個函數即可迭代或求助數組,而無需執行該函數。 您需要執行內部功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM