Angularjs 用户界面路由器控制器是';行不通

Angularjs 用户界面路由器控制器是';行不通,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我刚开始使用UI路由器,我正在努力让这个控制器工作。视图将加载,但函数不会在单击时触发 看法 仪表板 点击 模板中的testfunction不工作,因为控制器中没有名为testfunction的函数。在控制器中,您将其指定为testFunction。请注意其中的大写字母“F”。如果你改变它,它会工作的。但是,请不要认为url:“#”是无效的url模板中的testfunction不起作用,因为控制器中没有名为testfunction的函数。在控制器中,您将其指定为testFunction。请注意

我刚开始使用UI路由器,我正在努力让这个控制器工作。视图将加载,但函数不会在单击时触发

看法


仪表板
点击

模板中的
testfunction
不工作,因为控制器中没有名为
testfunction
的函数。在控制器中,您将其指定为
testFunction
。请注意其中的大写字母“F”。如果你改变它,它会工作的。但是,请不要认为
url:“#”
是无效的url

模板中的
testfunction
不起作用,因为控制器中没有名为
testfunction
的函数。在控制器中,您将其指定为
testFunction
。请注意其中的大写字母“F”。如果你改变它,它会工作的。但是,请不要认为
url:“#”
不是有效的url

我认为
url:“#”
不是有效的路由url。如果您试图以根路径为目标,只需使用
url:“
另外,您的函数是
testFunction
(大写字母“F”),但您的模板正在调用
testFunction
~投票关闭,但我尝试实现此建议,它导致路由器视图中断。在最初的fiddle中,视图路由工作,但控制器不工作。此外,我想我现在对它的理解更好了。将“#”更改为“”将导致默认情况下加载视图,因此路由器视图不会中断。再次感谢。我认为
url:“#”
不是有效的路由url。如果您试图以根路径为目标,只需使用
url:“
另外,您的函数是
testFunction
(大写字母“F”),但您的模板正在调用
testFunction
~投票关闭,但我尝试实现此建议,它导致路由器视图中断。在最初的fiddle中,视图路由工作,但控制器不工作。此外,我想我现在对它的理解更好了。将“#”更改为“”将导致默认情况下加载视图,因此路由器视图不会中断。再次感谢。
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>