Angular指令链接函数调用两次

use*_*793 12 coffeescript angularjs angularjs-directive

在我的角度应用程序中,指令在第一次访问期间工作正常,但是一旦访问了两次页面,所有指令链接函数也会被调用两次.假设我在页面A上,单击链接转到页面B然后再返回到页面A,页面A上的所有指令将执行它们的链接功能两次.如果我刷新浏览器它将再次变为正常.

这是一个示例,其中console.log将在第二次访问时输出两次.

  @app.directive 'testChart', ["SalesOrder", (SalesOrder) ->
    return {
      scope: {options: '='}
      link: (scope, elem, attrs) ->
        console.log("............checking")
        SalesOrder.chart_data (data) ->
          Morris.Line
            element: "dash-sales"
            data: data
            xkey: 'purchased_at'
            ykeys: ['total']
            labels: ['Series a']
    }
  ]
Run Code Online (Sandbox Code Playgroud)

任何的想法?

更新

我的路线

when("/ dash",{templateUrl:"<%= asset_path('app/views/pages/dash.html')%>",controller:DashCtrl}).

所以我的图表是重复的 在此输入图像描述

ple*_*ock 16

还要确保你没有在index.html TWICE中包含你的指令!

  • 这个答案不能得到足够的支持.如果您正在使用chrome并且有两个脚本标记,它只会发出一次请求,但会运行两次代码.不要像我一样被愚弄.检查你的HTML. (2认同)