কৌণিক জেএস অজানা সরবরাহকারী


152

আমি নিজের REST এপিআইতে ফিট করার জন্য মঙ্গোলব উদাহরণটি "কাস্টমাইজ" করার চেষ্টা করছি। এখন আমি এই ত্রুটিটি নিয়ে চলেছি এবং আমি কী ভুল করছি তা নিশ্চিত নই:

Error: Unknown provider: ProductProvider <- Product
    at Error (unknown source)
    at http://localhost:3000/js/vendor/angular.min.js:28:395
    at Object.c [as get] (http://localhost:3000/js/vendor/angular.min.js:26:180)
    at http://localhost:3000/js/vendor/angular.min.js:28:476
    at c (http://localhost:3000/js/vendor/angular.min.js:26:180)
    at d (http://localhost:3000/js/vendor/angular.min.js:26:314)

এটি আমার নিয়ামক:

function ProductListCtrl($scope, Product) {
  $scope.products = Product.query();
}

এবং এটি মডিউল:

angular.module('productServices', ['ngResource']).
    factory('Product', ['$resource', function($resource){
      var Product = $resource('/api/products/:id', {  }, {
        update: { method: 'PUT' }
      });

      return Product;
    }]);

এই ত্রুটিটি নির্দেশ করে যে কৌনিকটি পণ্য ফ্যাক্টরি সম্পর্কে জানেন না, নিশ্চিত করুন যে এই পরিষেবার জন্য জেএসটি প্রথমে রেফারেন্স। মডিউলগুলি ঘোষণাকালে স্পষ্টভাবে নির্ভরতা সংজ্ঞায়িত করা নিশ্চিত করুন কারণ ফাইলগুলি যখন ছোট করা হয় তখন নামটির ম্যাংলিংয়ের কারণেও এই ত্রুটিটি উপস্থিত হয়। আরও তথ্যের জন্য, এই নিবন্ধটি দেখুন :: ozkary.com/2015/11/…
ওজকারি

উত্তর:


130

আপনার কোডটি দেখতে দুর্দান্ত দেখাচ্ছে, বাস্তবে এটি কাজ করে (কলগুলি তাদের থেকে পৃথক করে) যখন কোনও নকল জেএসফিডেল অনুলিপি করে আটকানো হয়: http://jsfiddle.net/VGaWD/

আরও সম্পূর্ণ উদাহরণ না দেখে কী চলছে তা বলা শক্ত তবে আমি আশা করি উপরের জেএসফিডেল সহায়ক হবে। আমি যা সন্দেহ করছি তা হ'ল আপনি 'প্রোডাক্ট সার্ভিসস' মডিউলটি দিয়ে আপনার অ্যাপ্লিকেশনটি আরম্ভ করছেন না । এটি একই ত্রুটিটি দেবে, আমরা এটি অন্য জেএসফিডালে দেখতে পাচ্ছি: http://jsfiddle.net/a69nX/1/

যদি আপনি অ্যাংুলার জেএস এবং মঙ্গোলাব নিয়ে কাজ করার পরিকল্পনা করছেন তবে আমি $ রিসোর্স এবং মঙ্গোল্যাবের জন্য একটি বিদ্যমান অ্যাডাপ্টার ব্যবহার করার পরামর্শ দেব : https://github.com/pkozlowski-opensource/angularjs-mongolab এটি মংগোল্যাবের সাথে কাজ করে ব্যথার অনেকটাই হ্রাস করে, আপনি এটি এখানে ক্রিয়াতে দেখতে পাবেন: http://jsfiddle.net/pkozlowski_opensource/DP4Rh/ অস্বীকৃতি! আমি এই অ্যাডাপ্টারটি বজায় করছি (অ্যাংুলারজেএস উদাহরণগুলির উপর ভিত্তি করে লিখিত) তাই আমি এখানে স্পষ্টতই পক্ষপাতদুষ্ট।


আমারও একই সমস্যা এবং এটি আমার সমস্যাটির সমাধান করেনি। আমি আসলে ডেটা ফিরে পাই ... এই ত্রুটি বার্তার বাদে আপনি ভাবেন যে সবকিছু ঠিকঠাক কাজ করছে। যদিও আমি শরীরের উপাদানগুলিতে এনজি-অ্যাপ ব্যবহার করছি না, আমি এ জাতীয় বুটস্ট্র্যাপিং করছি: কৌণিক.এলিমেন্ট (নথি) ready
টম

17
হাই ছেলেরা, এটি কিছুটা আলিঙ্গন করছে। আমার ঠিক একইরকম সমস্যা। তবে আমি 2 jsFiddles এর মধ্যে পার্থক্যটি চিহ্নিত করতে পারি না। ঠিক কোথায় দেখতে হবে তার কোনও ইঙ্গিত অত্যন্ত প্রশংসাযোগ্য appreciate
স্ক্যাচকি

4
@ শ্যাচকি, ফিডলগুলির মধ্যে পার্থক্য তথ্য ট্যাবে পাওয়া যাবে। তাদের একটির সাথে একটি দেহ রয়েছে <body ng-app="productServices">এবং অন্যটির রয়েছে <body ng-app="">
ভিনিত রেনল্ডস

এবং তথ্য ট্যাব কোথায়? :)
আলেকস

3
দেখে মনে হচ্ছে তথ্য ট্যাবটি এখন Fiddle Optionsডানদিকে থাকা ট্যাব
গ্যাংস্টেদ

40

আমি সেই ত্রুটিটি পেয়েছি কারণ আমি কারখানার সংজ্ঞায় একটি ভুল পরামিতিটি পাস করছিলাম। আমার ছিল:

myModule.factory('myService', function($scope, $http)...

আমি যখন সরিয়ে $scopeফ্যাক্টরির সংজ্ঞাটি পরিবর্তন করেছি তখন এটি কাজ করেছিল:

myModule.factory('myService', function( $http)...

আপনার যদি ইনজেকশন দরকার হয় তবে $scopeব্যবহার করুন:

myModule.factory('myService', function($rootScope, $http)...

32

আমার সবেমাত্র একই সমস্যা ছিল। ত্রুটিটি প্রশ্নটিতে একই কথা বলেছিল, এটি পকোজ্লোস্কি.ওপেনসোর্স এবং বেন জি এর উত্তর দিয়ে সমাধান করার চেষ্টা করেছিল, যা উভয়ই সঠিক এবং ভাল উত্তর।

আমার সমস্যাটি একই ত্রুটির সাথে প্রকৃতপক্ষে আলাদা ছিল:

আমার এইচটিএমএল-কোডটিতে আমার এই জাতীয় দীক্ষা ছিল ...

<html ng-app>

আরও কিছুটা নিচে আমি এই জাতীয় কিছু করার চেষ্টা করেছি:

<div id="cartView" ng-app="myApp" ng-controller="CartCtrl">

আমি প্রথমটি থেকে মুক্তি পেয়েছি ... তারপরে এটি কাজ করেছে ... সম্ভবত আপনি এনজি-অ্যাপ্লিকেশনটি দু'বার বা তার বেশি বার শুরু করতে পারবেন না। যথেষ্ট ন্যায্য।

আমি মোটামুটি প্রথম "এনজি-অ্যাপ" সম্পর্কে ভুলে গিয়েছিলাম এবং সম্পূর্ণ হতাশ হয়ে পড়েছিলাম। সম্ভবত এটি অনেদেকে কাউকে সাহায্য করবে ...


2
আমারও অনুরূপ সমস্যা ছিল তবে আমার ক্ষেত্রে ডিভিতে এনজি-কন্ট্রোলার নির্দিষ্ট করা ছিল পরিষেবাটি উল্লেখ করে এমন একজন নিয়ামকের অপরাধী। দেখে মনে হচ্ছে অ্যাঙ্গুলার যখন ভিউটি বিশ্লেষণ করেছেন তখন কীভাবে পরিষেবাটি সমাধান করবেন তা জানতেন না।
হেক্টর Correa

25

আপনার app.jsপ্রধানতে যে পরিষেবাগুলি নির্ভর করে সেগুলি অন্তর্ভুক্ত রয়েছে তা নিশ্চিত করুন । উদাহরণ স্বরূপ:

/* App Module */
angular.module('myApp', ['productServices']). 
.....

1
যদি আমার ভুল না হয় তবে এ জাতীয় ক্ষেত্রে productServicesএকটি মডিউল হওয়া উচিত, সুতরাং এ জাতীয় মডিউলের মধ্যে কী রয়েছে তা অপ্রাসঙ্গিক (পরিষেবাগুলি বা না)।
গ্রীনল্ডম্যান

17

পকোজ্লোস্কির উত্তরটি সঠিক, তবে অন্য কারও সাথে যদি এমনটি ঘটে থাকে তবে ভুল করে দু'বার একই মডিউলটি তৈরি করার পরে আমার একই ত্রুটি হয়েছিল; দ্বিতীয় সংজ্ঞাটি প্রথম সরবরাহকারীকে ওভাররাইড করছে:

আমি করে মডিউল তৈরি করেছি

angular.module('MyService'...
).factory(...);

তারপরে একই ফাইলটিতে আরও কিছুটা নিচে:

angular.module('MyService'...
).value('version','0.1');

এটি করার সঠিক উপায় হ'ল:

angular.module('MyService'...
).factory(...).value('version','0.1');

11

আমার ক্ষেত্রে, আমি একটি নতুন সরবরাহকারী সংজ্ঞায়িত করেছি, বলুন, xyz

angular.module('test')
.provider('xyz', function () {
    ....
});

আপনি যখন উপরোক্ত সরবরাহকারীর কনফিগার করতে যাচ্ছেন, আপনি Providerস্ট্রিং যুক্ত -> xyzহয়ে যায় এটিতে ইনজেক্ট করতে হবে xyzProvider

উদা:

angular.module('App', ['test'])
.config(function (xyzProvider) {
     // do something with xyzProvider....
});

যদি আপনি 'সরবরাহকারী' স্ট্রিং ছাড়াই উপরের সরবরাহকারীকে ইনজেক্ট করেন তবে আপনি ওপিতে অনুরূপ ত্রুটি পাবেন।


8

জেএস ফাইল শেষে আমার কারখানার ফাংশন বন্ধ ছিল

});

পরিবর্তে

}());


1
আমার প্রকল্পের জন্য আমরা সাধারণত ব্যবহার করি})();
mrOak

5

এটি আমাকে অনুসরণ করতে অনেক দীর্ঘ সময় নিয়েছে। আপনার নির্দেশকের মধ্যে আপনি নিজের কন্ট্রোলারকে মিনিসাফ করে রেখেছেন তা নিশ্চিত করুন।

.directive('my_directive', ['injected_item', function (injected_item){

  return {

    controller: ['DO_IT_HERE_TOO', function(DO_IT_HERE_TOO){

    }]
  }
}

আশা করি এইটি কাজ করবে


5

এখানে আমার নিজের অভিজ্ঞতা যুক্ত করতে, আমি আমার মডিউল কনফিগারেশন ফাংশনগুলির মধ্যে একটিতে একটি পরিষেবা ইনজেক্ট করার চেষ্টা করছিলাম। শেষ পর্যন্ত আমি যে দস্তাবেজগুলি পেয়েছি তা এই অনুচ্ছেদটি ব্যাখ্যা করে যে এটি কেন কাজ করে না:

অ্যাপ্লিকেশন বুটস্ট্র্যাপের সময়, অ্যাংুলার সমস্ত পরিষেবা তৈরি করা বন্ধ করার আগে, এটি সমস্ত সরবরাহকারীকে কনফিগার করে এবং ইনস্ট্যান্ট করে তোলে। আমরা এটিকে অ্যাপ্লিকেশন লাইফ-চক্রের কনফিগারেশন পর্ব বলি। এই পর্যায়ে, পরিষেবাগুলি অ্যাক্সেসযোগ্য নয় কারণ সেগুলি এখনও তৈরি হয়নি।

এর অর্থ আপনি সরবরাহকারীগুলিকে মডিউল.কনফিগ (...) ফাংশনগুলিতে ইনজেক্ট করতে পারেন, তবে আপনি পরিষেবাগুলি ইনজেকশন করতে পারবেন না, এর জন্য আপনাকে মডিউল.আরুন (...) পর্যন্ত অপেক্ষা করতে হবে, বা কোনও মডিউল ইনজেকশন দিতে পারে এমন কোনও সরবরাহকারীকে প্রকাশ করতে হবে। কনফিগ


4

আমার জন্য, এই ত্রুটিটি আমার কৌণিক অ্যাপ্লিকেশনটির সংক্ষিপ্ত সংস্করণ চালানোর কারণে হয়েছিল। কৌনিক দস্তাবেজগুলি এটিকে ঘিরে কাজ করার একটি উপায় প্রস্তাব করে। সমস্যাটি বর্ণনা করার জন্য এখানে প্রাসঙ্গিক উদ্ধৃতি দেওয়া হয়েছে এবং আপনি এখানে ডক্সে প্রস্তাবিত সমাধানটি নিজেরাই সন্ধান করতে পারেন :

মিনিফিকেশন সম্পর্কিত একটি নোট যেহেতু কৌণিকর্তা নিয়ামকের কনস্ট্রাক্টর ফাংশনের সাথে যুক্তির নামগুলি থেকে নিয়ন্ত্রণকারীর নির্ভরতাগুলি অনুগ্রহ করে, আপনি যদি ফোনলিস্টসিট্রল নিয়ামকের জাভাস্ক্রিপ্ট কোডটি ছোট করে রাখেন, তবে এর সমস্ত ফাংশন আর্গুমেন্টও ছোট করা হবে, এবং নির্ভরতা ইনজেক্টরটি নয় পরিষেবাগুলি সঠিকভাবে সনাক্ত করতে সক্ষম হোন।


3

যেহেতু এই মুহূর্তে গুগলে "অ্যাঙ্গুলারজ অজানা সরবরাহকারী" এর শীর্ষ ফলাফল, তাই এখানে আরও একটি গোটাচা। জেসমিনের সাথে ইউনিট পরীক্ষা করার সময়, নিশ্চিত করুন যে আপনার beforeEach()ফাংশনে এই বিবৃতি রয়েছে :

module('moduleName'); 

অন্যথায় আপনি আপনার পরীক্ষায় এই একই ত্রুটি পাবেন।


3

তবুও অন্য একটি ক্ষেত্রে যেখানে এই ত্রুটিটি ঘটবে, যদি আপনি পরিষেবাটি একটি পৃথক জাভাস্ক্রিপ্ট ফাইলে সংজ্ঞায়িত করা হয় তবে নিশ্চিত হয়ে নিন যে আপনি এটি উল্লেখ করেছেন! হ্যাঁ, আমি জানি, গণ্ডগোলের ভুল


2

আমি সম্পূর্ণরূপে আমার পরিষেবাগুলি ধারণ করে এমন ফাইলটি ইনজেক্ট করতে ভুলে যাচ্ছিলাম। আপনার অ্যাপ্লিকেশন মডিউলটি শুরু করার সময় এটি করতে মনে রাখবেন:

angular.module('myApp', ['myApp.services', ... ]);

2

আমার ক্ষেত্রে, আমি কৌণিক মডিউলটির জন্য মোড়ক হিসাবে একটি বেনামে ফাংশন ব্যবহার করেছি:

(function () {
var app = angular.module('myModule', []);
...
})();

প্রথম বন্ধনী বন্ধ করার পরে, আমি উপরে হিসাবে প্রথম বন্ধনী খোলা এবং বন্ধ করে বেনাম ফাংশনটি কল করতে ভুলে গিয়েছি।


আমি জানি আপনি 4 বছর আগে এর উত্তর দিয়েছিলেন, তবে এটি আজ আমাকে সহায়তা করেছে, ধন্যবাদ।
লেগোলাস

1

আমার জন্য সমস্যা ছিল অলস লোডিং; আমি আমার নিয়ামক এবং পরিষেবা দেরিতে লোড করেছি, সুতরাং তারা পৃষ্ঠার লোড (এবং কৌণিক সূচনা) তে উপলব্ধ ছিল না। আমি এটি একটি ui-if ট্যাগ দিয়ে করেছি, তবে এটি অপ্রাসঙ্গিক। সমাধানটি ছিল ইতিমধ্যে পৃষ্ঠা লোড সহ পরিষেবাটি লোড করা।


1

এখানে অন্য সম্ভাব্য পরিস্থিতি যেখানে আপনি এই ত্রুটিটি দেখতে পাচ্ছেন:

আপনি সাবলাইম টেক্সট 2 এবং কৌনিক প্লাগইন ব্যবহার করলে এটি এর মতো স্টাব তৈরি করবে

angular.module('utils', [])
.factory('utilFactory', [''
    function() {
        return {

        }
    }
]);

'ইউটিফ্যাক্টরি' স্ট্রিংয়ের পরে অ্যারের প্রথম উপাদান হিসাবে খালি '' লক্ষ্য করুন। আপনার যদি কোনও নির্ভরতা না থাকে তবে তা সরিয়ে ফেলুন:

angular.module('utils', [])
.factory('utilFactory', [
    function() {
        return {

        }
    }
]);

1

যেহেতু এই প্রশ্নটি গুগল ফলাফল শীর্ষ, আমি তালিকায় আরও একটি সম্ভাব্য জিনিস যুক্ত করব।

আপনি যে মডিউলটি ব্যবহার করছেন সেটি যদি নির্ভরতা ইঞ্জেকশন র‌্যাপারটিতে ব্যর্থতা থাকে তবে এটি একই ফলাফল প্রদান করবে। উদাহরণস্বরূপ ইন্টারনেট থেকে অনুলিপি এবং আটকানো মডিউলগুলি আন্ডারস্কোর.জেএস এর উপর নির্ভর করতে পারে এবং ডি _ র‍্যাপারে '_' দিয়ে ইনজেক্ট করার চেষ্টা করতে পারে। যদি আপনার প্রকল্প নির্ভরতা সরবরাহকারীগুলিতে আন্ডারস্কোর উপস্থিত না থাকে, যখন আপনার নিয়ামক আপনার মডিউলটির কারখানাটি উল্লেখ করার চেষ্টা করেন, এটি ব্রাউজারের কনসোল লগে আপনার ফ্যাক্টরিটির জন্য 'অজানা সরবরাহকারী' পাবেন।


1

আমার জন্য সমস্যাটি ছিল যে আমি তৈরি করেছি এমন কয়েকটি নতুন জাভাস্ক্রিপ্ট ফাইল রয়েছে যা পরিষেবাটি রেফারেন্স করেছে তবে ক্রোম কেবল পুরানো সংস্করণ দেখেছিল। একটি সিটিআরএল + এফ 5 এটি আমার জন্য স্থির করে।


0

গ্রান্টের সাথে আমার প্রকল্পটি সংকলন করার সময় আমি কৌণিক-মকস (এনজিএমকই 2 ই) সম্পর্কিত একটি "অজানা সরবরাহকারী" ত্রুটি পেয়েছি। সমস্যাটি ছিল যে কৌণিক-উপহাসগুলি ছোট করা যায় না তাই আমাকে এটিকে মিনিফাইড ফাইলগুলির তালিকা থেকে সরিয়ে ফেলতে হয়েছিল।


0

এই ত্রুটিটিও পরিচালনা করার পরে, আমি নিজের ক্ষেত্রে উত্তরগুলির এই তালিকাটিকে সমর্থন করতে পারি।

এটি একইসাথে সহজ এবং বোবা (আমার মতো নতুনদের জন্য বোবা নাও হতে পারে, তবে বিশেষজ্ঞদের ক্ষেত্রে হ্যাঁ), এইচটিএমএল পৃষ্ঠায় স্ক্রিপ্টগুলির তালিকায় অ্যাঙ্গুলার.মিন.জেএস-এর স্ক্রিপ্ট রেফারেন্সটি অবশ্যই প্রথম হওয়া উচিত।

এইটা কাজ করে:

<script src="Scripts/angular.min.js"></script>
<script src="MyScripts/MyCartController.js"></script>
<script src="MyScripts/MyShoppingModule.js"></script>

এটি নয়:

<script src="MyScripts/MyCartController.js"></script>
<script src="MyScripts/MyShoppingModule.js"></script>
<script src="Scripts/angular.min.js"></script>

কৌণিক.মিন.জেএস সম্পর্কে বিজ্ঞপ্তি।

আশা করি এটি যে কাউকে সাহায্য করবে !! :)


0

আমার সমস্যাটি ইয়োমানের সাথে ছিল (ব্যবহার করে মূলধন):

yo angular:factory Test

তৈরি ফাইল (অপ্রচলিত):

app/scripts/services/test.js

তবে index.html ফাইল অন্তর্ভুক্ত (মূলধন):

<script src="scripts/services/Test.js"></script>

আশা করি এটি কাউকে সাহায্য করবে।


0

তবুও আরেকটি সম্ভাবনা।

আমার ছিল unknown Provider <- <- nameOfMyService। ত্রুটিটি নিম্নলিখিত সিনট্যাক্সের কারণে হয়েছিল:

module.factory(['', function() { ... }]);

কৌণিক ''নির্ভরতা খুঁজছিল ।


ত্রুটি: [ject ইনজেক্টর: আনআরপি] অজানা সরবরাহকারী: লগইনফ্যাক্ট্রিপ্রাইডার <- লগইনফ্যাক্টরি আমি এটির একজন, তাই আমি কীভাবে এটি ঠিক করতে পারি
ninjaXnado

0

আমার পরিস্থিতিটি কিছুটা অস্পষ্ট হতে পারে তবে এটি একই ত্রুটির কারণ হতে পারে এবং কেউ এটি অনুভব করতে পারে, তাই:

নতুন নিয়ামককে ইনস্ট্যান্ট করতে $ নিয়ামক পরিষেবাটি ব্যবহার করার সময় (এটি প্রথম ইনজেকশনের যুক্তি হিসাবে '$ স্কোপ' আশা করছিল) আমি নতুন নিয়ামকের লোকাল স্কোপটি $ নিয়ামক () ফাংশনের দ্বিতীয় প্যারামিটারে দিয়ে যাচ্ছিলাম। এর ফলে কৌণিক একটি স্কোপ পরিষেবা চালু করার চেষ্টা করছে যা বিদ্যমান নেই ( যদিও কিছুক্ষণের জন্য, আমি আসলে ভেবেছিলাম যে আমি কিছুটা কীভাবে অ্যাংুলারের ক্যাশে থেকে '$ স্কোপ' পরিষেবাটি মুছে ফেলেছিলাম )। সমাধানটি হ'ল লোকাল অবজেক্টে লোকাল স্কোপ মোড়ানো:

// Bad:
$controller('myController', newScope);

// Good:
$controller('myController, {$scope: newScope});

0

উপরের উত্তরগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি, সম্ভবত আমি পুরোপুরি ভুল করছি, তবে একটি শিক্ষানবিস হিসাবে আমরা এটি করি।

আমি divএকটি তালিকা পেতে কন্ট্রোলারটি আরম্ভ করছিলাম :

 <div ng-controller="CategoryController" ng-init="initialize()">

এবং তারপরে $routeProviderএকই নিয়ামকের একটি URL ম্যাপ করতে ব্যবহার করে । আমি মুছে ng-initফেলার সাথে সাথে নিয়ামকটি রুটটির সাথে কাজ করল।


0

আমারও একই সমস্যা ছিল আমি স্থির যে $('body').attr("ng-app", 'MyApp')পরিবর্তে ব্যবহার করে<body ng-app="MyApp"> বুস্ট্র্যাপের ।

কারণ আমি করেছি

angular.element(document).ready(function () {        
    angular.bootstrap(document, [App.Config.Settings.AppName]);
})

আর্কিটেকচার প্রয়োজনীয়তার জন্য।


0

আমার রুবি অন রেলস অ্যাপে আমি নিম্নলিখিতটি করেছি:

rake assets:precompile

এটি 'বিকাশ' পরিবেশে করা হয়েছিল, যা Angular.js ক্ষুদ্র করে এটিকে /public/assets/application.jsফাইলটিতে অন্তর্ভুক্ত করেছিল ।

/public/assets/*ফাইলগুলি সরানো আমার জন্য সমস্যার সমাধান করেছে।


0

আমি আজ একই ধরণের সমস্যার মুখোমুখি হয়েছি এবং সমস্যাগুলি খুব ছোট ছিল

 app.directive('removeFriend', function($scope) {
return {
    restrict: 'E',
    templateUrl: 'removeFriend.html',
    controller: function($scope) {
        $scope.removing = false;
        $scope.startRemove = function() {
            $scope.removing = true;
        }
        $scope.cancelRemove = function() {
            $scope.removing = false;
        }
        $scope.removeFriend = function(friend) {
            var idx = $scope.user.friends.indexOf(friend)
            if (idx > -1) {
                $scope.user.friends.splice(idx, 1);
            }
        }
    }
}
});

আপনি যদি উপরের ব্লকটি পর্যবেক্ষণ করেন তবে প্রথম লাইনে আপনি পর্যবেক্ষণ করবেন আমি ইনজেকশন $ স্কোপটি ভুল করে যা ভুল। আমি সমস্যাটি সমাধান করার জন্য সেই অযাচিত নির্ভরতা অপসারণ করেছি।

 app.directive('removeFriend', function() {
return {
    restrict: 'E',
    templateUrl: 'removeFriend.html',
    controller: function($scope) {
        $scope.removing = false;
        $scope.startRemove = function() {
            $scope.removing = true;
        }
        $scope.cancelRemove = function() {
            $scope.removing = false;
        }
        $scope.removeFriend = function(friend) {
            var idx = $scope.user.friends.indexOf(friend)
            if (idx > -1) {
                $scope.user.friends.splice(idx, 1);
            }
        }
    }
}
});

0

আমি একটি নতুন কারখানা তৈরি করার পরে এবং এটি একটি উপাদানগুলির মধ্যে ব্যবহার করার পরে আমার এই ত্রুটি হয়েছিল তবে আমি সেই উপাদানগুলির চশমাটি পরীক্ষা করে দেখিনি

সুতরাং যদি আপনার (চশমা) পরীক্ষা ফাইলগুলিতে ব্যর্থতা হয়

আপনি যোগ করা প্রয়োজন beforeEach(module('YouNewServiceModule'));


-1

আরেকটি 'গোটচা': ইনজেকশন দেওয়ার সময় আমি এই ত্রুটিটি পেয়েছিলাম - টাইমআউট, এবং অ্যারের মানগুলিতে আমার শ্বেত স্পেস রয়েছে তা বুঝতে কয়েক মিনিট সময় লেগেছিল। এটি কাজ করবে না:

angular.module('myapp',[].
  controller('myCtrl', ['$scope', '$timeout ', 
    function ($scope, $timeout){
      //controller logic
    }
  ]);

অন্য কারও মতো এর মতো নির্বোধ ত্রুটি থাকলে পোস্ট করা।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.