क्या कोई मुझे बता सकता है कि एक कोन को दूसरे कोणीयजेएस के निर्देश में एक नियंत्रक से कैसे शामिल किया जाए। उदाहरण के लिए मेरे पास निम्नलिखित कोड है
var app = angular.module('shop', []).
config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/', {
templateUrl: '/js/partials/home.html'
})
.when('/products', {
controller: 'ProductsController',
templateUrl: '/js/partials/products.html'
})
.when('/products/:productId', {
controller: 'ProductController',
templateUrl: '/js/partials/product.html'
});
}]);
app.directive('mainCtrl', function () {
return {
controller: function ($scope) {}
};
});
app.directive('addProduct', function () {
return {
restrict: 'C',
require: '^mainCtrl',
link: function (scope, lElement, attrs, mainCtrl) {
//console.log(cartController);
}
};
});
सभी खाते के द्वारा मुझे addProduct निर्देश में नियंत्रक तक पहुंचने में सक्षम होना चाहिए, लेकिन मैं नहीं हूं। क्या ऐसा करने का कोई बेहतर तरीका है?
require
एक और निर्देश की उपस्थिति सुनिश्चित करता है और फिर इसके नियंत्रक को शामिल करता है।^require
वर्तमान तत्व के अतिरिक्त वर्तमान एक के ऊपर तत्वों की जाँच करता है। इसलिए आपको काम करने के लिए दोनों निर्देशों का एक साथ उपयोग करना होगा। अन्यथा, बस एक नियंत्रक को परिभाषित करेंapp.controller
और फिर दोनों निर्देशों में इसका उपयोग करें। किसी भी तरह से, आप इसे अपने HTML कोड के साथ एक साधारण प्लंकर में डाल सकते हैं?