javascript - Angular ui-router 不加载 Controller 或模板

标签 javascript angularjs angular-ui-router

我似乎在让 ui-router 实际路由事物时遇到了问题。我确信我所有的 javascript 文件都在加载,并且 angular 没有抛出任何错误。我有一个声明应用程序和基本 Controller 的 HTML 文件,然后加载具有路由器的 js 文件。您可以在下面看到我的代码示例。

index.html

<!DOCTYPE html>
<html ng-app="Yellr" ng-controller="yellrBaseCtrl">
<head>
    <title>Yellr Moderator</title>
    <link rel="stylesheet" type="text/css" href="assets/css/site.css"/>
</head>
<body>
    <div class="side-nav">
...
    </div>
    <div class='main' ui-view>
    </div>

    <script src="assets/js/scripts.min.js"></script>
</body>
</html>

yellr.routes.js(编译成scripts.min.js)

'use strict';

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

        $urlRouterProvider.otherwise('/notfound');

        $stateProvider
            .state('feed', {
                url: '/feed',
                templateUrl: '/templates/feed.html',
                controller: 'rawFeedCtrl'
            });
    }]);

console.log('Yellr routes');

我在这里遗漏了什么明显的东西吗?您可以找到整个代码库 here

最佳答案

问题出在模板 url 上。我看到您直接从根文件夹而不是应用程序提供文件。您必须将模板网址更改为:

$stateProvider
   .state('feed', {
        url: '/feed',
        templateUrl: 'app/templates/feed.html',
         controller: 'rawFeedCtrl'
    });

此外,我建议将所有 html 和脚本构建到一个 dist 文件夹中并从那里提供服务。

关于javascript - Angular ui-router 不加载 Controller 或模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27744539/

相关文章:

javascript - MEAN Stack 从每一行的 UserId 中获取用户名

javascript - 滚动条不工作

带有工具提示的 Javascript 简单条形图

javascript - 如何使用 JavaScript 从 HTML 生成 PDF?

angularjs - Django Rest Framework JWT : How to change the token expiration time when logged in

javascript - AngularJS 在使用 ng-switch 渲染后执行

javascript - 添加 office.js 在 url 中添加#,然后将其删除

angularjs - ui.router 转换到粘性状态时可以触发哪些事件?

javascript - 按自定义顺序显示 DIV

javascript - AngularJS 模块 'ui.router' 不适用于我的 Djangular 项目