2016-09-23 187 views
1

我剛剛使用UI-Router,並且很努力讓這個控制器工作。該視圖加載,但該功能不會觸發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

投票關閉作爲錯字 – Phil

回答

0

在模板的testfunction不工作,因爲在控制器中沒有函數調用testfunction。在控制器中,您將其指定爲testFunction。請注意大寫字母'F'。它會工作,如果你改變它。但請不要那url: "#"無效網址