我试图在angularjs应用程序中实现turn.js,当我点击一个链接时,它转到那个turn.js的页面,那时我的自定义指令没有加载。如果我按下F5,那么自定义指令正在加载并且turn.js正在正常工作。
我的自定义指令就像这样
app.directive "turnJs", ->
alert "loaded"
restrict: "A"
link: (scope, element, attrs) ->
$(element).turn scope.$eval(attrs.turnJs)
return
我的观点是这样的
<div class="butiknamncontainer" id="magazine" turn-js>
<div>
dfdssdfs
</div>
<div>
sdffsdfsf
</div>
</div>
有没有办法在执行ng-click时加载指令?
答案 0 :(得分:0)
您需要将指令定义包含在应用的第一页中,以便Angular知道在HTML中遇到指令时该怎么做。
刷新时它起作用的原因是因为Angular与指令定义一起被引导(查看URL中的#标签)。
当Angular在没有该文件的情况下被引导时,例如当你的标签中没有任何内容时,Angular不知道在以后遇到该指令时该怎么做。所以,它会被忽略。