繁体   English   中英

Angular ui-router不起作用

[英]Angular ui-router doesn't work

我是Angular的新手,我一直在尝试在这个项目中使用ui-router,但ui-view没有显示任何内容,我是否错过了什么? 我正在尝试构建一个卑鄙的应用程序,文件夹结构如下:app文件夹是角度应用程序所在的位置。 结构应用程序

<!DOCTYPE html>
<html lang="en" ng-app="TimeWaste">
<head>
<meta charset="UTF-8">
<title>Document</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet"     href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" >
</head>

<nav class="navbar navbar-default navbar-fixed-top">
  <div class="container">
        <div class="">
            <input type="text" ng-model="login.email">
            <input type="password" ng-model="login.password">
            <button>Login</button>
            <a ui-sref="signUp">Create an account</a>
        </div>
  </div>
</nav>
<body>


<div ui-view></div>

</body>
<script src="node_modules/angular/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js"></script>
<script src="app/app.js"></script>
<script src="app/signup/signup-controller.js"></script>
</html>

这是app.js.

(function()
{
angular.module('TimeWaste',['ui.router'])
    .config(function($stateProvider)
    {
        $stateProvider
            .state('signup',{
                url:"/signup",
                templateUrl: "app/signup/signup.html",
                controller:"SignupController"
            })
    })
  }());

signup.html视图

<div class="row">
<div class="col-sm-6">
    <div class="row">
        <strong>Email Address:</strong>
        <input type="text" ng-model="newUser.email" class="form-control">
    </div>

    <div class="row">
        <strong>Password:</strong>
        <input type="password" ng-model="newUser.password" class="form-control">
    </div>
    <button ng-click="createUser()">Submit</button>
  </div>
 </div>

和注册控制器

(function()
{
  angular.module('TimeWaste')
    .controller('SignupController',       ['$scope','$state',function($scope,$state){

    }]);

}());

它可能错字和路径丢失!

在html中使用了<a ui-sref="signUp">Create an account</a>但在$stateProvider使用了signup因此需要将signUp更改为signup

我假设您的app.js位于app目录中,因为您使用

主页中的<script src="app/app.js"></script>

如果正确,那么您的模板路径需要更改templateUrl: "signup/signup.html",

但是,您可以将ui.route配置为不区分大小写。

喜欢:

.config(function($stateProvider,$urlMatcherFactoryProvider,)
    {
        $urlMatcherFactoryProvider.caseInsensitive(true);
        $urlMatcherFactoryProvider.strictMode(false); 

        $stateProvider
            .state('signup',{
                url:"/signup",
                templateUrl: "signup/signup.html",
                controller:"SignupController"
        })
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM