简体   繁体   中英

unable to load view with angular-ui-router

I am using angular-ui-router tutorial.

It does not work when i want to load home.html page.

I defined 3 states for each page and define their template url,but no navigation is working at all.

http://localhost:8080/index.html#/home.

this is index.html :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>catalogue</title>
<link rel="stylesheet" type="text/css" 
href="node_modules/bootstrap/dist/css/bootstrap.min.css" />

<link rel="stylesheet" type="text/css" 
href="css/myStyle.css" />


</head>
<body ng-app="MyApp" >

<div ui-view >
</div>

<script type="text/javascript" src="node_modules/angular/angular.min.js"></script>
<script type="text/javascript" src="node_modules/angular-ui-router/release/angular-ui-router.min.js"></script>
<script type="text/javascript" src="js/app.js"></script>
</body>
</html>

this is app.js :

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


app.config(function($stateProvider,$urlRouterProvider) {
    $stateProvider.state('home',{
        url:'/home',
        templateUrl: 'views/home.html',
        controller: 'HomeController'
    });
    $stateProvider.state('chercher',{
        url:'/chercher',
        templateUrl: 'views/chercher.html',
        controller: 'MyController'
    });
    $stateProvider.state('newProduct',{
        url:'/newProduct',
        templateUrl: 'views/newProduct.html',
        controller: 'NewProductController'
    });

});  

app.controller('HomeController', function() {

});

app.controller('NewProduitController', function() {

});

home.html:

<div>
<h1>home</h1>

</div>

Set default URL state.

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


app.config(function($stateProvider,$urlRouterProvider) {
    $stateProvider.state('home',{
        url:'/home',
        templateUrl: 'views/home.html',
        controller: 'HomeController'
    });
    $stateProvider.state('chercher',{
        url:'/chercher',
        templateUrl: 'views/chercher.html',
        controller: 'MyController'
    });
    $stateProvider.state('newProduct',{
        url:'/newProduct',
        templateUrl: 'views/newProduct.html',
        controller: 'NewProductController'
    });
   // add this code 
   $urlRouterProvider.otherwise('/home');

});  

app.controller('HomeController', function() {

});

app.controller('NewProduitController', function() {

});

open this link in browser http://localhost:8080/

i solved the problem.

I used ui-sref instead of writing directly in the URL browser.

<button ui-sref="home" >Home</button>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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