這聽起來,我一直在努力做一個非常簡單的任務,在這裏它去使用..獲取從輸入值控制器角度JS
我需要一個輸入框的值一用戶將輸入他們的文本,然後在Angular JS中將值傳遞給我的控制器。該值在按下按鈕時傳遞給控制器,然後我可以在我的代碼中使用此值,即簡單的控制檯或警報以驗證其正在工作。
但是,我試過各種解決方案,不工作。請在下面的代碼片段:
HTML
<label for="newEmail" class="sr-only">New email address</label>
<input data-ng-model="updateUser.newEmail" type="text" id="newEmail"
maxlength="254" pattern="[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,3}$" size="20"
class="form-control" placeholder="{{user.email}}">
<button type="button" class="btn btn-primary btn-md"
data-ng-click="updateUser.updateProfile()" style="margin:
3px">Update</button>
JS
app.controller('adminCtrl', ['$scope', 'Auth', '$state', '$firebaseArray',
'$timeout', '$firebaseArray', function($scope, Auth, $state, $firebaseArray,
$timeout) {
$scope.updateUser = {
email: ''
};
$scope.updateProfile = function() {
console.log('User clicked register', $scope.updateUser.email);
};
}]);
請注意,我用各種依賴於控制器,還有待進一步的功能,所有的作品perfectley 。上面的主要問題我試過(和其他各種)要麼返回一個空值或消息'未定義'。
謝謝,
你的'ngModel'與'updateUser.newEmail'綁定,因爲你的控制檯的打印值是'$ scope.updateUser.email'。因此,請將'ngModel'中的ether從'newEmail'更改爲'email'或將'console'從'$ scope.updateUser.email'更改爲'updateUser.newEmail'。 –
我剛剛嘗試將控制檯更改爲updateUser.newEmail,並嘗試更改以下對象:'$ scope.updateUser = { 電子郵件:'' };'到'$ scope.updateUser = { newEmail:'' };'。當我點擊「更新」按鈕時,這兩個選項都不起作用,控制檯上也不會顯示任何內容。 –
我已經嘗試了很多這裏的選項,我可能沒有幫助自己,因爲我沒有說我在這裏使用ng-repeat來填充一個帶有行的表格,那是輸入框被保存的位置。我認爲這可能與問題有關? –