2016-08-23 3 views
1

私はCoffeeScriptファイルで角度コントローラーを定義しようとしています。コーヒーテーブルの角型コントローラー

angular.module("myApp").controller('DashboardReportsController', ['$http', ($http) -> 
    dctrl = @ 
    dctrl.setupDashboard = (id)-> 
    dctrl.business_id = id 
    setBreakdownChart() 
    return null 

    dctrl.setBreakdownChart =()-> 
    $http.get("/businesses/" + dctrl.business_id + "/dashboard/breakdown/").success((data) -> 
     exrevctx = document.getElementById("expenseRevenueChart") 
     new Chart(exrevctx, data) 
    ) 
    return null 

    return this # Coffeescript auto returns the last line. Angular controllers are constructors so we must return `this` 
]) 

私はここにng-initを呼んでいる:

<div class="row dashboard-grid" ng-controller="DashboardReportsController as dctrl" ng-init="dctrl.setupDashboard('<%= @business.slug %>')" > 

私はエラーになっています。エラーとブレークポイント間

ReferenceError: setBreakdownChart is not defined 

を、私はsetupDashbaordが呼び出されているのを知っているが、なぜですsetBreakdownChartは定義されていませんか?

+0

あなたがsetBreakdownChartを(呼び出している)に変更し、まだあなたはその方法を注入されていません。 – Martin

+0

ちょっと@Martin私はまだAngularの新機能ですが、これは私が過去にコントローラを書いた方法です。これを注入して修正する方法のコード例を教えてください。 – Deekor

+0

@martin nevermind私はそれを見る! 'dctrl.setBreakdownChart'が見つかりません! – Deekor

答えて

0

コントローラを参照していません。あなたのsetupDashboard()メソッドで

dctrl.setBreakdownChart() 

ではなく

setBreakdownChart() 
関連する問題