如何使用ng-model从输入生成的对象中获取值,以便在我的脚本中使用而不是键和值?
如此接近于解决这个问题,现在我在Get a value from input to use in controller Angular JS
来自我之前的问题我终于设法阻止表中的单个输入值(使用ng-repeat)通过使用以下代码显示每行的每个相同位置:
<input data-ng-model="newEmail[$index]" type="text" id="newEmail" maxlength="254" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$" size="20" class="form-control" placeholder="{{user.email}}">
基本上,我需要从ng-model中输入的值才能在我的控制器中使用,我目前正在使用这个值:
$scope.newEmail = {};
$scope.updateProfile = function (profile) {
setTimeout(function () {
console.log('New email is: ', $scope.newEmail);
}, 1000);
};
我遇到的问题是它从输入框中返回一个对象 {1:'此处输入的任何文本'} 。然后,我似乎无法从对象中获取值来更新Firebase中的值,因为它将键和值都写入我正在尝试写入的Firebase位置。
必须有一种超级简单的方法来获取我缺少的对象的值?
答案 0 :(得分:0)
输入框不会返回对象。这是因为您并未将ng-model
分配为$scope.newEmail
而是$scope.newEmail[$index]
。这就是为什么当你得到{1: '...'}
并且它是正确的时候你得到$scope.newEmail
的原因。
我不知道您使用的是什么案例,但为什么要将newEmail
初始化为对象,而不仅仅是:
$scope.newEmail = null
然后将其指定为:
ng-model="newEmail"