বুটস্ট্র্যাপ মডেল উইন্ডোটি বাস্তবায়নের চেষ্টা করায় আমি এই ত্রুটিটি গ্রহণ করে চলেছি। এর কারণ কী হতে পারে? আমি এখানে http://angular-ui.github.io/bootstrap/#/modal থেকে সমস্ত কিছু অনুলিপি / আটকানো করেছি ।
বুটস্ট্র্যাপ মডেল উইন্ডোটি বাস্তবায়নের চেষ্টা করায় আমি এই ত্রুটিটি গ্রহণ করে চলেছি। এর কারণ কী হতে পারে? আমি এখানে http://angular-ui.github.io/bootstrap/#/modal থেকে সমস্ত কিছু অনুলিপি / আটকানো করেছি ।
উত্তর:
আপনি যখন কোনও নিয়ামক, পরিষেবা ইত্যাদির জন্য নির্ভরতাতে লিখেন এবং আপনি সেই নির্ভরতা তৈরি বা অন্তর্ভুক্ত করেননি তখন এই জাতীয় ত্রুটি দেখা দেয়।
এই ক্ষেত্রে, $modal
একটি পরিচিত সেবা নয়। মনে হচ্ছে আপনি কৌণিক বুটস্ট্র্যাপ করার সময় আপনি নির্ভরতা হিসাবে ইউআই-বুটস্ট্র্যাপে পাস করেন নি। angular.module('myModule', ['ui.bootstrap']);
এছাড়াও, নিশ্চিত হয়ে নিন যে আপনি ui-বুটস্ট্র্যাপ (0.6.0) এর সর্বশেষতম সংস্করণটি ব্যবহার করছেন, কেবল নিরাপদ থাকতে।
ত্রুটিটি ০.০.০ সংস্করণে নিক্ষেপ করা হয়েছে তবে 0.6.0 এ আপডেট করা $ মডেল পরিষেবাটি উপলব্ধ করে। সুতরাং, 0.6.0 সংস্করণে আপডেট করুন এবং আপনার মডিউলটি নিবন্ধভুক্ত করার সময় ui.boostrap প্রয়োজন তা নিশ্চিত হন।
আপনার মন্তব্যের জবাব: আপনি এভাবেই কোনও মডিউল নির্ভরতা ইনজেক্ট করেন।
<!-- tell Angular what module we are bootstrapping -->
<html ng-app="myApp" ng-controller="myCtrl">
জেএস:
// create the module, pass in modules it depends on
var app = angular.module('myApp', ['ui.bootstrap']);
// $modal service is now available via the ui.bootstrap module we passed in to our module
app.controller('myCtrl', function($scope, $uibModal) {
});
$modal
সেবার নাম পরিবর্তন করা হয়েছে $uibModal
।
Ib uibModal ব্যবহারের উদাহরণ
// create the module, pass in modules it depends on
var app = angular.module('myApp', ['ui.bootstrap']);
// $modal service is now available via the ui.bootstrap module we passed in to our module
app.controller('myCtrl', function($scope, $uibModal) {
//code here
});
5 বছর পরে (এই সময়ে সমস্যাটি হত না) :
নাম স্থান পরিবর্তন হয়েছে - বুটস্ট্র্যাপ-ইউআই এর নতুন সংস্করণে আপগ্রেড করার পরে আপনি এই বার্তাটি জুড়ে হোঁচট খেতে পারেন ; আপনি $uibModal
& পড়ুন প্রয়োজন $uibModalInstance
।
আমি আজও অভিজ্ঞ একটি সমস্যার জন্য কেবলমাত্র একটি অতিরিক্ত পার্শ্ব নোট: যখন আমি সংক্ষিপ্তকরণ / উগলিফাই চালু করি তখন আমার একই রকম ত্রুটি ঘটেছিল "অজানা সরবরাহকারী: $ একটি সরবরাহকারী" আমার উত্স কোডটি ।
কৌণিক ডকস টিউটোরিয়ালে উল্লিখিত হিসাবে (অনুচ্ছেদ: "মিনিফাইজে একটি নোট") আপনাকে নির্ভরতা ইনজেকশনের জন্য উল্লেখগুলি সঠিকভাবে রাখা হয়েছে তা নিশ্চিত করার জন্য আপনাকে অ্যারে সিনট্যাক্সটি ব্যবহার করতে হবে:
var PhoneListCtrl = ['$scope', '$http', function($scope, $http) { /* constructor body */ }];
জন্য কৌণিক UI 'তে বুটস্ট্র্যাপ উদাহরণ তাহলে আপনি এই এই প্রতিস্থাপন করা উচিত উল্লেখ:
var ModalInstanceCtrl = function ($scope, $modalInstance, items) {
/* ...example code.. */
}
এই অ্যারে স্বরলিপি সহ:
var ModalInstanceCtrl = ['$scope', '$modalInstance', 'items', function ($scope, $modalInstance, items) {
/* copy rest of example code here */
}];
এই পরিবর্তনটির সাথে আমার মিনিফায়েড কৌণিক UI মডেল উইন্ডো কোডটি আবার কার্যকরী হয়েছিল।
সরবরাহকারীর ত্রুটির সুস্পষ্ট উত্তর হ'ল ইউআই-বুটস্ট্র্যাপ যুক্ত করার ক্ষেত্রে মডিউল ঘোষণা করার সময় অনুপস্থিত নির্ভরতা। আমরা যে জিনিসটির মধ্যে অনেকেই অ্যাকাউন্ট না করি তা হ'ল নতুন প্রকাশে আপগ্রেড করার সময় ব্রেকিং পরিবর্তনগুলি breaking হ্যাঁ, নীচেরগুলিতে কাজ করা উচিত এবং সরবরাহকারীর ত্রুটি বাড়ানো উচিত নয়:
var app = angular.module('app', ['ui.router', 'ngRoute', 'ui.bootstrap']);
app.factory("$svcMessage", ['$modal', svcMessage]);
আমরা যখন ইউআই-বুস্ট্র্যাপের একটি নতুন সংস্করণ ব্যবহার করি তখন বাদে। মডেল সরবরাহকারী এখন হিসাবে সংজ্ঞায়িত করা হয়:
.provider('$uibModal', function() {
var $modalProvider = {
options: {
animation: true,
backdrop: true, //can also be false or 'static'
keyboard: true
},
এখানে পরামর্শটি একবার হ'ল আমরা নিশ্চিত হয়েছি যে নির্ভরতা অন্তর্ভুক্ত রয়েছে এবং আমরা এখনও এই ত্রুটি পেয়েছি, আমরা জেএস লাইব্রেরির কোন সংস্করণ ব্যবহার করছি তা যাচাই করা উচিত। আমরা দ্রুত অনুসন্ধানও করতে পারি এবং ফাইলটিতে সেই সরবরাহকারীর উপস্থিতি রয়েছে কিনা তাও দেখতে পারি।
এই ক্ষেত্রে, মডেল সরবরাহকারী এখন নিম্নলিখিত হিসাবে হওয়া উচিত:
app.factory("$svcMessage", ['$uibModal', svcMessage]);
আরও একটি নোট। আপনার ইউআই-বুটস্ট্র্যাপ সংস্করণটি আপনার বর্তমান অ্যাঙ্গুলারজ সংস্করণটিকে সমর্থন করে তা নিশ্চিত করুন। যদি তা না হয় তবে আপনি অন্যান্য ত্রুটিগুলি যেমন টেমপ্লেটপ্রাইডার পেতে পারেন।
তথ্যের জন্য এই লিঙ্কটি পরীক্ষা করুন:
http://www.ozkary.com/2016/01/angularjs-unعلوم-provider-modalprovider.html
আশা করি এটা সাহায্য করবে.
var ModalInstanceCtrl = ['$scope', '$modalInstance', function ($scope, $modalInstance, items) {
/* copy rest of example code here */
}];