Bu iki işlevi var. $ Scope.submit'in yanıt değerini $ scope.addTeams öğesine iletmem gerekiyor. Bu çalışıyor ama bu gerçekten aptalca bir yaklaşım olduğunu biliyorum. En iyi yaklaşım nedir?
cevap
\t $scope.submit = function() {
\t $http.post('/api/createclub/', {
\t club: $scope.club
\t }).success(function(response) {
\t console.log(response);
\t $rootScope.clubId = response._id;
\t });
\t };
\t $scope.addTeams = function() {
\t console.log($rootScope.clubId);
\t $state.go('createTeam', {
\t clubId: $rootScope.clubId
\t });
\t $scope.cancel();
\t };
rootScope
ayarı vardır kimliği değeri geçirerek, $ http sonrası tepki işleyicisi içinde addTeams işlevi çağırmak rootScope üzerinde böyle özelliklerBu yaklaşımı denedim ancak $ scope.addTeams() ng tıklama ile tetiklenir. Bu yaklaşımı izleyerek, ancak $ scope.addTeams() işlevi çağrılır ve temelde olmaması gereken durum değişir. –
$scope.submit = function() {
$http.post('/api/createclub/', {
club: $scope.club
}).success(function(response) {
console.log(response);
$scope.addTeams(response._id);
});
};
$scope.addTeams = function(id) {
$state.go('createTeam', {
clubId: id
});
$scope.cancel();
};
nesi var
Bu konuda bir sorun yok. Ben de denedim ama $ scope.addTeams() ng tıklama ile tetiklenir. Ancak bu yaklaşımı izleyerek $ scope.addTeams() işlevi çağrılır ve durum değişmez, bu da –
izlememden emin değilim. Bir tuşa tıklama VE addTeams kullanıyorsunuz? – Wainage
İki farklı düğmedeki gibi görünüyor ?! – mindparse
Yaptığınız şey işe yarayacak, ancak postTeams, post tamamlandıktan sonra çağrılmadıkça bir clubId değerine sahip olmayacak. Bu bir yarış durumu, sağlanan küçük bir kod verilen kolay bir yol görmüyorum. –
Evet anladım. Neyi başarmaya çalıştığım hakkında daha fazla bilgi sağlamak için, bu işlevleri tetikleyen iki farklı düğmem var. –
Biri diğerine kadar devre dışı bırakın veya tek bir düğmeye dönüştürün. –