2016-09-23 1 views
1

UIルータを使用するのが初めてで、このコントローラを動作させるのに苦労しています。ビューがロードされますが、関数はng-clickでトリガされません。 JSFiddleUIルーターコントローラが動作していません

var app = angular.module('app', ['ui.router']); 

app.controller('dashboardCtrl', [ 
    '$scope', 
    function($scope){ 
     $scope.testFunction = function(){ 
      console.log('test'); 
     } 
    } 
]); 

app.config(function ($stateProvider, $urlRouterProvider){ 
    $stateProvider.state("dashboard", { 
     url: "#", 
     templateUrl: "dashboard.html", 
     controller: "dashboardCtrl" 
     }); 
}); 

ビュー

<body ng-app="app"> 
<nav> 
    <a ui-sref="dashboard">Dashboard</a> 
</nav> 
    <ui-view></ui-view> 
</body> 

<script type = "text/ng-template" id = "dashboard.html"> 
     <button ng-click="testfunction()">Click</button> 
</script> 
+0

私は 'url:"# "'は有効なルートURLではないと思います。ルートパスをターゲットにしたい場合は、 'url:" "' ' – Phil

+0

を使用してください。関数は' testFunction'(大文字の "F")ですが、テンプレートは 'testfunction'〜https://jsfiddle.net/chmm3oks/10/ – Phil

+0

typoとして閉じる投票を – Phil

答えて

0

コントローラには機能がtestfunctionが呼ばれないために動作していない、あなたのテンプレートでtestfunction。コントローラでは、testFunctionと指定しました。それに大文字の「F」があることに注意してください。あなたがそれを変更するとうまくいくでしょう。しかし、そのようにしないでくださいurl: "#"は有効ではありませんURL

関連する問題