Używam jonowe i mam następujący pogląd:ng-model jest zdefiniowana w kontrolerze
<ion-view hide-nav-bar="true" ng-controller="loginController" class="login-view">
<ion-content class="padding">
<div class="row row-center">
<div class="col">
<div id="logo"></div>
<form>
<div class="list">
<label class="item item-input">
<input type="text" placeholder="Membership No" ng-model="membershipNo">
</label>
<label class="item item-input">
<input type="password" placeholder="Password" ng-model="password">
</label>
</div>
<button class="button button-block button-positive button-login" ng-click="login()">
Login
</button>
</form>
</div>
</div>
</ion-content>
</ion-view>
i mój Kontroler:
app.controller('loginController', ['$scope', '$localstorage',
function($scope, $localstorage) {
$scope.membershipNo;
$scope.password;
$scope.login = function() {
console.log("User logged in with membership no: " + $scope.membershipNo +
"\n and password: " + $scope.password);
}
}
]);
Co ja nie rozumiem, jest to, że kiedy Klikam przycisk, funkcja logowania jest wywoływana poprawnie. Ponadto, jeśli w kontrolerze przejdę i ustawię $scope.membershipNo
na coś takiego jak "Bananowy naleśnik", widok faktycznie się zaktualizuje.
Jednak kiedy funkcja logowania rzeczywiście działa, mówi, że membershipNo i hasło są niezdefiniowane. Jestem całkiem nowy, kątowe i jonowe tak wiem, że to pewnie jakiś n00b pomyłka ...
Ty wiązania się prymitywne. Nie rób tego. http://www.codelord.net/2014/05/10/understanding-angulars-magic-dont-bind-to-primitives/ (Zasadniczo wartość 'memberNo' jest przekazywana według wartości, więc to, co się zmienia, jest nie odniesienia w kontrolerze.Ztwórz obiekt, coś jak '$ scope.user = {}' i przekazać, że 'ng-model =" user.membershipNo "', w przeciwnym razie Angular nie może wysłać danych z powrotem do kontrolera ...) – DRobinson
możliwy duplikat [modelu Ng nie aktualizuje wartości kontrolera] (http://stackoverflow.com/questions/12618342/ng-model-does-not-update-controller-value) – DRobinson
Problem może być gdzieś indziej, ponieważ Wydaje się działać dobrze tutaj http://plnkr.co/edit/L0ip3gShFcteiFdUBtlR?p = preview –