Czy ktoś może mi powiedzieć, jak dołączyć kontroler z jednej dyrektywy do innej dyrektywy kątowej JS? na przykład mam następujący kodJak wymagać kontrolera w dyrektywie angularjs?
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);
}
};
});
przez wszystkie konta powinny być w stanie uzyskać dostęp do kontrolera w dyrektywie addProduct ale nie jestem. Czy jest lepszy sposób na zrobienie tego?
'require' zapewnia obecność innej dyrektywy, a następnie zawiera jej kontroler. '^ require' sprawdza elementy powyżej bieżącego oprócz bieżącego elementu. Aby to zadziałało, musisz użyć obu dyrektyw. W przeciwnym razie po prostu zdefiniuj kontroler za pomocą 'app.controller', a następnie użyj go w obu dyrektywach. Tak czy inaczej, czy możesz umieścić to w prostym Plunkerze wraz z kodem HTML? –
to była odpowiedź –