2015-10-01 262 views
0

的鏈接功能我在一個項目上使用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模板部分工作正常,但鏈接功能只是從來沒有運行。有任何想法嗎?

+0

這適用於我,請參閱[示例](https://jsfiddle.net/o51dce6k/1/) – sniels

+0

@sniels我看到你已經聲明你的指令有所不同。我也改變了我的指令,現在鏈接如下所示:'link:function(){alert('link fired'); }'什麼都沒有觸發 –

+0

似乎和我一起工作,也許在你的項目中還有別的事情我們不知道。請參閱https://jsfiddle.net/o51dce6k/2/ – sniels

回答

0

對此的回答很有啓發性。另一位開發人員以前曾試圖將供應商的示例應用程序遷移到我們的應用程序中。他留下了一個與我試圖使用的命令相同的指令和鏈接功能。拿出第二條指令和第二條鏈接功能完成了任務。謝謝各位的幫助。

1

也許這是你唯一的計算器在這裏做了一個錯字,但你缺少一個字符:

<div class="col-sm-8"> <!-- Missing ">" --> 
+0

謝謝,但這只是一個錯字。我正在修復它。 –

1

但鏈接功能只是從來沒有運行

也許,通過把你的鏈接功能放在全局範圍內,它正在被重寫(?)。

嘗試在您的指令定義中移動鏈接功能。

+0

我可能會試試這個,但是對我來說沒有意義的一件事是它在演示中運行,代碼是相同的。 –