入力日付を入力することで、サービスから出力データを取得する必要があります。データはサービス中に実行されますが、出力データをコントローラに返すことができません。私はcode.linkのためのplunkerを作った プラウカーリンクサービスのためのデータを角で返す
0
A
答えて
3
、obj
を言います。このよう
:
return $http({
url: 'miqaat.json',
method: 'GET',
})
.then(function(response) {
var all_miqaats = response.data.response;
var obj = all_miqaats.find(function(v) {
return v.miqaat_date == dat
});
if (obj == undefined || obj == "") {
console.log("obj = ");
console.log(obj);
obj.isHoliday = "100";
// return obj;
} else {
obj.mq_title = obj.title;
obj.isHoliday = "101";
// return obj;
console.log("Data from Service");
console.log(obj);
}
return obj;
})
そして、これは約束を返すために、コントローラにあなたはそれを変更する必要があります:あなたはcontroller
にご.then
とcatch
を移動すべきか否か
getMiqaat.findMiqaat($scope.date).then(function(res) {
$scope.miqaat = res;
});
どのくらいあなたがそのコードreuse
に依存する必要があります。だから、私が細部を知るまでそれについてコメントしないだろう。言及コードの下に使用することにより
+0
に感謝Tanmayを追加...それは私のための仕事です。.. –
+0
嬉しいR.Sharma @私は助けることができた! :) – tanmay
1
工場から約束の代わりに。コントローラからそれをキャッチします。工場内でhttpを返すだけです。あなたの$http.get
と内部.then
最終的な修正変数をreturn
する必要が
app.controller('myCtrl', function($scope, getMiqaat) {
$scope.date = "2017-04-11";
getMiqaat.findMiqaat($scope.date)
.then(function(response) {
var all_miqaats = response.data.response;
var obj = all_miqaats.find(function(v) {
return v.miqaat_date == $scope.date
});
if (obj == undefined || obj == "") {
console.log("obj = ");
console.log(obj);
obj.isHoliday = "100";
$scope.miqaat = obj;
} else {
obj.mq_title = obj.title;
obj.isHoliday = "101";
$scope.miqaat = obj;
console.log("Data from Service");
console.log(obj);
}
})
.catch(function(response) {
response.response = "Internal Server Error!";
});;
});
app.factory('getMiqaat', function($http) {
return {
findMiqaat: function(date) {
var dat = date;
console.log(dat);
return $http({
url: 'miqaat.json',
method: 'GET',
})
}
};
})
0
それが正常に働くことになります。あなたのjsonごとにキーが一致していることを確認してください。
コントローラコード:
var app = angular.module("myApp", []);
app.controller('myCtrl', function($scope, getMiqaat){
$scope.date = "2017-04-11";
console.log("date ::"+$scope.date);
$scope.status;
$scope.miqaat;
getMiqaatData();
function getMiqaatData() {
getMiqaat.findMiqaat($scope.date)
.then(function (response) {
$scope.miqaat = response.data.response[0];
}, function (error) {
$scope.status = 'Unable to load data: ' + error.message;
});
}
});
app.service('getMiqaat', function($http){
this.findMiqaat = function(date){
var dat = date;
console.log(dat);
return $http({
url: 'miqaat.json',
method: 'GET',
});
}
})
Json :
{
"status":true,
"message":"List of the miqaats",
"response":[
{"miqaat_date":"2017-04-11",
"mq_title":" New Year",
"isHoliday" :"101"
},
{"miqaat_date":"2017-04-09",
"mq_title":"Some Fest",
"isHoliday" :"101"
}
]
}
関連する問題
- 1. 2つのコンポーネント間でデータを渡すための角2サービスの観測/サブスクリプション
- 2. 角2 - このサービスがデータを返さない理由
- 3. 角2:サービスを通じたデータ転送
- 4. 角度2はサービスからフィルタリングされたデータを返します
- 5. サービスから返されたデータが角2のコンポーネントに表示されない
- 6. WCFサービスでデータをフェッチするためのmvc3のパフォーマンステクニック
- 7. 角2のデータをサービスに保存
- 8. ng-viewのページ間でデータを共有するために角度サービスを使用する
- 9. JavaサービスのPOST後にコンテンツを返すためのREST
- 10. 四角形を四角形にマップするためのCATransform3Dを返します。
- 11. APIから真のfalseを返すための角度フィルタ?
- 12. ノード/角度2サービスが間違ったコンポーネントに値を返す
- 13. 返されたサービスからのデータをループする
- 14. 角2投稿の返信サービスからの返信
- 15. 角2サービスが値を返さない
- 16. 角度:JSONデータを返すとサービスにエラーが発生していますか?
- 17. 角度2 rc4のブートストラップでサービスにデータをロードする方法
- 18. コンポーネント間でデータを渡す角2の共有サービス
- 19. 角度指示、サービスとコントローラの間でデータを共有する
- 20. UI-Routerのための角度サービス非同期シングルトン
- 21. WCFサービスを確保するための戦略、jQueryからリクエストされたJsonデータを返す
- 22. 私はブールフィールドのためのWebサービスと返されたデータを呼び出していますJson.Net
- 23. サービスからコンポーネントへのデータの返信
- 24. 角2 - サービスのサービス
- 25. Firebase +角度データをクリアするための最良の方法
- 26. サービスを開始してデータを返す
- 27. ASP.netでXMLデータを返すためのベストプラクティスMVC2
- 28. サービスからのデータを角2で取得できません
- 29. 角度データバインディング - サービスでデータも変更されました
- 30. サービスからjsonデータを返す方法
https://plnkr.co/edit/4Uho7njMAXryTDOfwcLP?p=preview –
カント質問 –