2015-10-01 33 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

我可能会试试这个,但是对我来说没有意义的一件事是它在演示中运行,代码是相同的。 –