angularjs指令未加载

时间:2014-03-18 10:38:35

标签: javascript jquery angularjs

我试图在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时加载指令?

1 个答案:

答案 0 :(得分:0)

您需要将指令定义包含在应用的第一页中,以便Angular知道在HTML中遇到指令时该怎么做。

刷新时它起作用的原因是因为Angular与指令定义一起被引导(查看URL中的#标签)。

当Angular在没有该文件的情况下被引导时,例如当你的标签中没有任何内容时,Angular不知道在以后遇到该指令时该怎么做。所以,它会被忽略。