Я пытаюсь вызвать функцию в контроллере из функции соединения. Из функции контроллера я должен вызвать вызов службы отдыха. (Я попробовал позвонить в службу поддержки из функции ссылок, но я не получил успеха. Поэтому я пытаюсь вызвать функцию контроллера из ссылки, и оттуда я буду называть службу отдыха).вызов функции контроллера из функции связи
Мой код такой, как показано ниже.
app.directive('collection', function() {
return {
restrict: "E",
replace: true,
scope: {
collection: '=',
articleData: '=',
articleContent: '='
},
template: "<ul><member ng-repeat='member in collection' member='member' article-data='articleData' article-content='articleContent'></member></ul>"
}
});
app.directive('member', function($compile,$http) {
return {
restrict: "A",
replace: true,
scope: {
member: '=',
articleData: '=',
articleContent: '='
},
template: "<div><li><a href='#' ng-click='getContent(member.itemId)'>{{member.title}}</a></li></div>",
link: function(scope, element, attrs) {
scope.getContent = function(itemId) {
scope.testFunction(itemId);
}
if (angular.isArray(scope.member.tocItem)) {
if (scope.member.hasChildren == "true") {
for (var i = 0; i < scope.member.tocItem.length; i++) {
if (scope.member.tocItem.title) {
scope.member.tocItem.title.hide = true;
}
}
}
element.append("<collection collection='member.tocItem'></collection>");
$compile(element.contents())(scope)
}
}
}
});
app.controller('apdController', function($scope, getTocService,$location) {
var bookId = $location.search().id;
var sampdata = getTocService.getToc(bookId);
$scope.tasks =sampdata;
//$scope.tasks = data;
var artData = getTocService.getArtData('PH1234');
$scope.articleContent = artData;
$scope.testFunction = function(itemId){
alert("called.....");
}
});
Вот я пытаюсь вызвать функции теста из link.From функции теста, я планирую вызвать службу отдыха. Но получение undefined не является функциональной ошибкой. Может кто-нибудь помочь? Также, пожалуйста, дайте мне знать, это правильный подход (от функции связи до контроллера и от контроллера для отдыха. Поскольку моя временная линия меньше, я не мог придумать какой-либо другой подход)
Посмотрите на '$ emit' и/или' $ broadcast', это то, что вам нужно. – SjaakvBrabant