2016-04-13 19 views
0

{{json_req}} ifadesiyle, {{pseudo}} ve {{password}} ifadesiyle ilgili çok sıkıcı bir sorunum var, yaşadığım değişiklikleri canlı olarak görebiliyorum.AngularJs İfade çalışmayan

Oturum açma ve Parola girdisinde yazdığım önemli olan, {{json_req}} ifadesi için hiçbir şey olmadı.

Sanırım bu benim için temel bir hataydı ama şu an bu konuda biraz kaybolacağım: /. Yardım için

Teşekkür :)

Login.html

<div class="row"> 
    Pseudo : {{pseudo}} 
</div> 
<div class="row"> 
    Password : {{password}} 
</div> 
<div class="row"> 
    json : {{json_req}} 
</div> 
<div class="row"> 
    <label class="float-center"> 
    Pseudo 
    <input ng-model="pseudo" type="text" required> 
    <span class="form-error"> 
     Pseudo Missing. 
    </span> 
    </label> 
</div> 
<div class="row"> 
    <label class="float-center"> 
    Password 
    <input ng-model="password" type="password" required> 
    <span class="form-error"> 
     Password Missing. 
    </span> 
    </label> 
</div> 

LoginCtrl.js

Bu davranış beklenen
mCtrl.controller('LoginCtrl', ['$scope', 'User', function ($scope, User) { 


    $scope.json_req = { 
    pseudo: $scope.pseudo, 
    password: $scope.password 
    }; 

    $scope.LoginUser = function() { 
    if ($scope.json_req.pseudo != undefined && $scope.json_req.password != undefined) { 
     User.login($scope.json_req).then(function (data) { 
     $scope.response = data; 
     $scope.json_req = {}; 
     }); 
    } else 
     console.log("UNDEFINED"); 
    }; 
}]); 
+0

JS konsolunda bir hata var mı? – Pierre

+0

'$ scope.json_req' bir nesnedir, bu nedenle göstermek istediğiniz mülkü belirtmeniz gerekir. Ne çıktı alıyorsunuz? – Jorrex

+0

hayır, hata yok. şifre ve sözde ifade çalışıyor, sadece json_req arı dolu görünmüyor gibi görünüyor. – dabbu

cevap

0

bu deneyin:

angular.module("asdfapp",[]).service("User",function(){}).controller('LoginCtrl', ['$scope', 'User', 
 
             function ($scope, User) { 
 

 

 
    $scope.json_req = { 
 
    pseudo: "", 
 
    password: "" 
 
    }; 
 

 
    $scope.LoginUser = function() { 
 
    if ($scope.json_req.pseudo != undefined 
 
     && $scope.json_req.password != undefined) { 
 
     User.login($scope.json_req).then(function (data) { 
 
     $scope.response = data; 
 
     $scope.json_req = {}; 
 
     }); 
 
    } else 
 
     console.log("UNDEFINED"); 
 
    }; 
 
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="asdfapp" ng-controller="LoginCtrl"> 
 
<div class="row"> 
 
    Pseudo : {{json_req.pseudo}} 
 
</div> 
 
<div class="row"> 
 
    Password : {{json_req.password}} 
 
</div> 
 
<div class="row"> 
 
    json : {{json_req}} 
 
</div> 
 
<div class="row"> 
 
    <label class="float-center"> 
 
    Pseudo 
 
    <input ng-model="json_req.pseudo" type="text" required> 
 
    <span class="form-error"> 
 
     Pseudo Missing. 
 
    </span> 
 
    </label> 
 
</div> 
 
<div class="row"> 
 
    <label class="float-center"> 
 
    Password 
 
    <input ng-model="json_req.password" type="password" required> 
 
    <span class="form-error"> 
 
     Password Missing. 
 
    </span> 
 
    </label> 
 
</div> 
 
</div>

+0

Teşekkürler dostum, bu xS meselesiydi – dabbu

1

. Eğer yazarken:

$scope.json_req = { 
    pseudo: $scope.pseudo, 
    password: $scope.password 
}; 

Eğer $scope.pseudo ve $scope.password için değerlerin bir "anlık" oluşturun. Modeli daha sonra değiştirdiğinizde bunlar güncellenmez.

Bir $scope.$watch kurabilir ve pseudo veya password değişikliklerinden (gerçekten önerilmez) değişiklik yapıldığında json_req'u güncelleştirebilirsiniz. Ya da öneriyoruz, ne kapsamı üzerinde alıcı işlevi yazın:

Object.defineProperty($scope, 'json_req', { 
    get: function() { 
    return { 
     pseudo: $scope.pseudo, 
     password: $scope.password 
    } 
    } 
}); 
0

Tamam ben çözüm bulmak. Ve beni

Ben ng-modeli yazmalısınız xD gelen aptal bir hata yüzünden bekleniyor = "json_req.pseudo" değil json_req nesnesini doldurmak için ng-modeli = "sözde":/

Maalesef olması Rahatsız ettiniz beyler!

Teşekkürler