मैं angular.js
लेने और कुछ कम दस्तावेजों को समझने पर काम करने की कोशिश कर रहा हूं।
इस पर विचार करें - मेरे पास सर्वर पर एक खोज विधि है जो क्वेरी पैरा को स्वीकार करती है और खोज परिणामों का संग्रह लौटाती है, और GET /search.json
मार्ग (रेल FWIW) का जवाब देती है।
तो jQuery
साथ, कोई नमूना क्वेरी इस प्रकार दिखाई देगा:
$.getJSON('/search', { q: "javascript", limit: 10 }, function(resp) {
// resp is an array of objects: [ { ... }, { ... }, ... ]
});
मैं इस कोणीय का उपयोग कर लागू करने की कोशिश कर रहा हूँ, और यह कैसे काम करता आसपास मेरे सिर लपेटो।
var app = angular.module('searchApp', ['ngResource']);
app.controller('SearchController', ['$scope', '$resource', function($scope, $resource){
$scope.search = function() {
var Search = $resource('/search.json');
Search.query({ q: "javascript", limit: 10 }, function(resp){
// I expected resp be the same as before, i.e
// an array of Resource objects: [ { ... }, { ... }, ... ]
});
}
}]);
और ध्यान में रखते हुए:
<body ng-app="searchApp">
...
<div ng-controller="SearchController">
...
<form ng-submit="search()">...</form>
...
</div>
</body>
हालांकि, मैं TypeError: Object #<Resource> has no method 'push'
और $apply already in progress
की तरह हो रही त्रुटियों रखना यह है कि मैं क्या अब है।
var Search = $resource("/search.json?" + $.param({ q: "javascript", limit: 10 }));
Search.query(function(resp){ ... });
इसे और अधिक एक बार $resource
प्रारंभ करने और फिर अनुरोध किया खोज में परिवर्तन के साथ अलग क्वेरी पैरामीटर भेजने सहज लगता है:
चीजें बाहर काम करने की उम्मीद के रूप में अगर मैं निम्नलिखित करने के लिए $resource
प्रारंभ बदलने लगते हैं। मुझे आश्चर्य है कि क्या मैं इसे गलत कर रहा हूं (सबसे अधिक संभावना है) या सिर्फ उन दस्तावेज़ों को गलत समझाएं जो $resource.query
को क्वेरी पैराम्स ऑब्जेक्ट के साथ बुलाते हैं क्योंकि पहला तर्क संभव है। धन्यवाद।
'की स्थापना करता है वर खोजें = $ संसाधन (...)' पहले से चाल भी नहीं:
हो सकता है कि आप प्राप्त सिर्फ एक सरल http की ज़रूरत है? मुझे लगता है कि मैं अभी भी कोणीय में सेवाओं और कारखानों के विचार को काम कर रहा हूं। इसके अलावा, मेरी पहली कोशिश '$ http' के साथ थी और यह ठीक काम करता था। मैं या तो '$ संसाधन' का प्रयास करना चाहता था, बस इसका उपयोग करने के लिए एक महसूस करने के लिए। धन्यवाद! – sa125
एचएम var खोज = $ संसाधन (...) वास्तव में सही है। हालांकि संसाधन किसी ऑब्जेक्ट को वापस करने की अपेक्षा करता है लेकिन आप एक सरणी लौटाते हैं? सेटिंग आज़माने का प्रयास करें: आपकी क्वेरी विधि पर सत्य, समान समस्या https://groups.google.com/forum/#!topic/angular/MT1vIakNEVM –
आप क्वेरी पैरामीटर को ओवरराइड क्यों करते हैं? – Vincent