2

我仍然在學習AngularJS,並且在使用UI路由器時遇到了問題。 它只是不會加載模板。AngularJS ui.router不會加載模板

這裏是我的代碼:

<body class="top-navigation" ng-app="mixcontainer"> 

     <div id="wrapper"> 
     Navbar here 
     </div> 
     <div class="row m-b-lg m-t-lg" ng-controller='MainCtrl'> 
     <div ui-view></div> 
     </div> 
    </div> 
    </div> 

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script> 
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.4.2/angular-ui-router.js"></script> 
<script type="text/javascript" src="app.js"></script> 



</body> 

和我的角度app.js:

var app = angular.module('mixcontainer',['ui.router']) 

app.config(function($stateProvider){ 
    var test = { 
     name: 'test', 
     url: '/test', 
     template: '<h3>Hello world</h3>', 
     controller: 'MainCtrl' 
    } 

    $stateProvider.state(test); 
}) 

app.controller('MainCtrl',['$scope','$state','$rootScope', function($scope,$state,$routeScope){ 

}]) 

我試過多次,無論是什麼角度不會產生UI視圖模板或templateUrl。我的瀏覽器或服務器的控制檯也沒有任何錯誤。我已經上了一個星期,這讓我瘋狂。

+0

任何反饋或建議rayed? – lin

+0

我想我的問題是,我試圖直接到達URL localhost:8080/test。 嘗試你的代碼後,試圖直接達到它仍然無法工作。 但是我在我的導航欄中添加了一個ui-sref鏈接,現在它似乎工作。 這是否意味着我無法直接「測試」我的路線? – RayedB

+0

它在小提琴的例子中工作得很好,你的應用有什麼不對?你應該能夠直接調用URL。 – lin

回答

0

嘗試使用$stateProvider('nameOfState', configurationObject)以正確的方式創建您的UI路線。通過使用$state(例如在您的控制器邏輯中。這是一個working fiddle example這將幫助你。

var app = angular.module('mixcontainer',['ui.router']) 

app.config(function($stateProvider){ 

    $stateProvider.state("test", { 
     url: "/test", 
     template: "<h3>Hello world</h3>", 
     controller: "MainCtrl" 
    }); 
});