Я работаю с Leadtools по проекту. Их поддержка помогла мне перенести их просмотрщика документов на angular.js. Их образец - это просто страница index.html с вызовом двух директив: list и documentviewer. Я взял этот код и изменил его, чтобы код в index.html теперь был частичным, а директивы я оставил один. Вот код директивы, который они мне дали:
JBenchApp.directive("documentviewer", function () {
return {
//templateUrl: "views/docviewer.html" //"<div id='documentviewerdiv'></div>",
template: ' <div id="container"> ' +
'<div id="top-panel">' +
'<label for="interactiveSelect">Interactive mode:</label>' +
'<select id="interactiveSelect"></select>' +
'</div>' +
'<div>' +
' <div id="left-panel"></div>' +
' <div id="middle-panel"></div>' +
'<div id="right-panel">For bookmarks</div>' +
'</div>' +
'</div>',
restrict: 'E',
link: link
};
});
JBenchApp.directive('list', function () {
return {
templateUrl: 'partials/list.html'
};
});
function link(scope, element, attrs) {
//This code handles displaying the documents. I've removed it as it isn't relevant to the question
};
Эта функция связи никогда не вызывается. Он работает в демо, но не здесь. Вот код для частичного:
<div class="row">
<div class="col-sm-3">
<list>
{{ listItems }}
</list>
</div>
<div class="col-sm-8">
<section ng-app="JBenchApp">
<documentviewer></documentviewer>
</section>
</div>
</div>
Вызывается директива documentviewer, и часть шаблона HTML отлично работает, но функция ссылки просто не запускается. Есть идеи?
Ответ на это был поучительным. Еще один разработчик ранее попытался перенести приложение-образец поставщика в наше приложение. Он оставил директиву и функцию связи, которые были названы идентичными тем, которые я пытался использовать. Выполнение этой задачи выполнялось второй директивой и второй функцией связи. Спасибо всем за помощь.
Возможно, это опечатка, которую вы сделали только здесь, в stackoverflow, но вам не хватает персонажа:
<div class="col-sm-8"> <!-- Missing ">" -->
но функция ссылки просто никогда не запускается
Возможно, поместив ваш funciton в glocal scope, он переписывается (?).
Попытайтесь переместить свой функционал ссылок внутри определения вашей директивы.
link: function(){ alert('link fired'); }
Ничего не горит