/ / AngularJS: मेरे निर्देश में $ गुंजाइश का उपयोग क्यों नहीं किया जा सकता है? - जावास्क्रिप्ट, कोणीयज, रिक्जेस्ट्स

AngularJS: मेरा निर्देश $ दायरा का उपयोग क्यों नहीं कर सकता है? - जावास्क्रिप्ट, angularjs, requjs

मैंने वास्तव में एक सरल कोणीय मॉड्यूल लिखा है जो एक टैब-नेविगेशन (कोड को सरल बनाया गया है, लेकिन यह काम नहीं करता है) की अनुमति देता है:

module.js

define(["angular","./controller","./tabs","./pane"],function(tabsController,tabs,pane){

var module = angular.module("tabsModule",[])
.controller("tabsController",["$scope",tabsController])
.directive("tabs",tabs)
//.directive("pane",pane);
return module;
});

tabs.js

define([], function() {
function tabs() {
var directive = {
restrict: "E",
controller: "tabsController",
scope: true,
templateUrl: "html/directives/tabs.html",
link: {
pre: function(scope, element, attrs, controller) {
scope.addPane = controller.addPane.bind(controller);
scope.select = controller.select.bind(controller);

}
},
//    transclude: true,
};
return directive;
}
return tabs;
});

controller.js

define(["controllers/prototypes/base_controller"],function(BaseController){
var TabController=BaseController.extend({
constructor:function($scope){
BaseController.call(this,$scope);
this.$scope.panes = [];
this.directivesEvents=directivesEvents;
},
addPane:function(pane) {
if (pane.order === 0) {
this.$scope.select(pane);
}
this.$scope.panes = this.$scope.panes.concat(pane).sort(function(a, b) {
return a.order - b.order;
});
},
select:function(pane) {
angular.forEach(this.$scope.panes, function(pane) {
pane.selected = false;
});
pane.selected = true;
this.$scope.$emit(this.directivesEvents.TAB_CHANGE, pane.id);
}
});
var TabController=function($scope){

};
TabController.$inject=["$scope"];
return TabController;
});

और मैं मॉड्यूल को दूसरे में शामिल करता हूं:

var directives=angular.module("directives",["tabsModule"]);

लेकिन जब मैं इसका उपयोग करता हूं, मुझे यह त्रुटि मिली:

त्रुटि: [$ इंजेक्टर: अनप्र] अज्ञात प्रदाता: $ स्कोपप्रोविडर <- $ स्कोप <- tabsDirective

मुझे पता नहीं है कि यह कहां से आता है, मैंने "दर्जनों मॉड्यूल / निर्देश बनाए, और मुझे लगता है कि मैंने" यह एक ऐसा बना दिया जैसे मैं हमेशा करता हूं ...

मैं घंटों तक इस पर अटका रहा, कृपया सहायता कीजिए !!!!

संपादित करें: मैंने इसे निर्दिष्ट नहीं किया था, लेकिन मैं आवश्यकता का उपयोग कर रहा था, और यह इस मुद्दे का कारण था।

उत्तर:

उत्तर № 1 के लिए 1

त्रुटि यह है कि आप कोणीय कार्य के निर्देशन पद्धति में टैब फ़ंक्शन को पास नहीं कर रहे हैं। मापदंडों का बेमेल देखें:

define(["angular","./controller","./tabs","./pane"],function(tabsController,tabs,pane){

इसके बजाय करें:

define(["angular","./controller","./tabs","./pane"],function(angular, tabsController, tabs, pane){

जवाब के लिए 0 № 2

अंत में, मुझे बस मिल गया, मैं जोड़ना भूल गया angular में पैरामीटर के रूप में module.js, इसलिए हर तर्क गलत जगह पर था।

define(["angular","./controller","./tabs","./pane"],function(angular,tabsController,tabs,pane){

var module = angular.module("tabsModule",[])
.controller("tabsController",["$scope",tabsController])
.directive("tabs",tabs)
//.directive("pane",pane);
return module;
});