我有以下代码: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
但它将是空的。
我第一次在空输入keyCode==13
上按Enter(somestring
)将被添加到列表中,即使我在输入字段中没有看到somestring
。
第二次点击输入一个空字符串将被添加,无论我在输入中输入什么。
如果我更改输入并按Enter键,null
或''
将添加到列表中。
有人能指出我正确的方向吗?
答案 0 :(得分:1)
问题是您的输入类型是电子邮件,并且您传递的是无效的电子邮件字符串,例如,如果我更改为文本类型,它会按预期工作,或者如果您也插入有效的电子邮件如果要保留输入电子邮件类型
,则可以正常工作答案 1 :(得分:-1)
$ scope.newContacts为空。你没有迭代你的控制器功能。 你只需定义一个函数来迭代或求助一个数组,你不执行它。 你需要执行你的内在功能。