簡體   English   中英

angular-ui-router無法正常工作

[英]angular-ui-router not working

我有index.html我能夠加載但angular-ui-router沒有將它路由到正確的templateURl(app.html與index.html相同的deirectoy)。我已經添加了所有必需的腳本但它不是工作的

<!DOCTYPE html>
<html ng-app ="mustReadAlgo">
    <head>
        <title>AngularJS Basic Example</title>
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
        <link rel="stylesheet" href="lib/css/bootstrap.min.css" />
        <link rel="stylesheet" href="lib/css/animate.min.css" />
        <script type='text/javascript' src="public/lib/moment.min.js" charset="UTF-8"></script>
        <script type='text/javascript' src="../../public/lib/lodash.min.js" charset="UTF-8"></script>
        <script type='text/javascript' src="../../public/lib/angular/angular.min.js" charset="UTF-8"></script>


        <script type='text/javascript' src="../../public/lib/angular-sanitize/angular-sanitize.min.js" charset="UTF-8"></script>
        <script type='text/javascript' src="../../public/lib/angular-ui-router/release/angular-ui-router.min.js" charset="UTF-8"></script>
        <script type='text/javascript' src="../../app.js" charset="UTF-8"></script>
        <script type='text/javascript' src="../../app/controllers/app.controller.js" charset="UTF-8"></script>





    </head>
    <body>

        <div class="container" ui-view="" ></div>


    </body>
</html> 

我的app.js是

    'use-strict';

    angular.module('mustReadAlgo',['ui.router']).config($stateProvider,$urlRouterProvider){

        $urlRouterProvider.otherwise('/');

        $stateProvider.state('home',{

            url :'/',
            templateUrl : 'app.html',(is in same directory as of index.html)
            controller :'mustReadAlgoCntrller'


        });



    }).run(function(){


    });

控制器代碼在app.controller.js中

angular.module('mustReadAlgo').controller('mustReadAlgoCntrller',function($scope)
{
    $scope.message='Hello World';
    console.log('inside controller');
});

app.html的內容

<div class="row">
  <div class="col-xs-2">
    <button class="form-control btn btn-default"><span class="glyphicon glyphicon-thumbs-up"></span>Hello World</button>
  </div>
    <p>Hello</p>
</div>

但是ui路由無法正常加載templateUrl? 任何人都可以幫助我,我是棱角分明的新手。

嘗試使用:

<div class="container">
   <ui-view></ui-view>
</div>

// 代替:

<div class="container" ui-view="" ></div>

如果要傳遞直接HTML作為模板,則需要使用template: ,而不是templateUrl: . 這是關於模板的文檔

您需要在狀態配置中定義狀態,並在$ urlRouterProvider.otherwise函數中使用statename

$stateProvider
    .state("otherwise", { url : '/'})

 $urlRouterProvider.otherwise('/otherwise');

在控制器中注入$ state,可以解決問題。 為了更清楚 -

    angular.module('mustReadAlgo', ['ui.router']).controller('mustReadAlgoCntrller',['$scope', '$state', function($scope, $state)
{
    $scope.message='Hello World';
    console.log('inside controller');
}]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM