javascript - 如何从 angular.js 中的非标准目录加载部分内容?

标签 javascript angularjs

我将 Angular 应用程序设置为 Symfony 应用程序中的 bundle 。由于此限制, Angular 应用程序的目录结构有所不同。所有公共(public)资源都符号链接(symbolic link)到静态目录,包括部分资源。我加载了应用程序, Controller 启动,但没有任何部分加载其特定 Controller 。我把它作为一个独立的应用程序(在 Symfony 之外)工作,所以我一定错过了新配置的一些东西。

index.html.twig:
注意:javascript 文件加载得很好 - 这是正确的资源路径

<body ng-controller="MainController">

    <nav class="navbar navbar-default" role="navigation">
        <div class="container">
            <ul class="nav navbar-nav navbar-right">
                <li class="active"><a href="#/">Home</a></li>
                <li><a href="#/groups">Groups</a></li>
            </ul>
        </div>
    </nav>

    <div ng-view=""></div>
                                                                                                                                                                                                                <div ng-view></div>                                                                                                                                                                                                                                                                                                                                                                                                     <!--[if lt IE 7]>
    <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
    <![endif]-->

    <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.20/angular.min.js"></script>

    <script src="bundles/translations/webadmin/app/js/ngroute.js"></script>
    <script src="bundles/translations/webadmin/app/js/app.js"></script>
    <script src="bundles/translations/webadmin/app/js/services.js"></script>
    <script src="bundles/translations/webadmin/app/js/controllers.js"></script>
    <script src="bundles/translations/webadmin/app/js/filters.js"></script>
    <script src="bundles/translations/webadmin/app/js/directives.js"></script>

</body>

app.js:
注意:我也尝试将 templateUrl 设置为partials/

angular.module('myApp', [
    'ngRoute',
    'myApp.filters',
    'myApp.services',
    'myApp.directives',
    'myApp.controllers'
]).config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/groups', {templateUrl: 'bundles/translations/webadmin/app/partials/groups.html', controller: 'GroupsController'});
    $routeProvider.when('/', {templateUrl: 'bundles/translations/webadmin/app/partials/home.html', controller: 'HomeController'});
    $routeProvider.otherwise({redirectTo: '/'});
}]);

controllers.js
注意:警报触发得很好,但部分内容无法加载...

angular.module('myApp.controllers', [])

.controller('MainController', ['$scope', function($scope) {
    alert('here?');
}])

.controller('HomeController', ['$scope', function($scope) {
    alert('here2');
}])

.controller('GroupsController', ['$scope', function($scope) {
    // TODO see below
}]);

控制台输出:

Consider using 'dppx' units, as in CSS 'dpi' means dots-per-CSS-inch, not dots-per-physical-inch, so does not correspond to the actual 'dpi' of a screen. In media query expression: (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) translations:1
Blink is considering rejecting non spec-compliant cross-origin web font requests: https://d3nkxvtkt5c8vi.cloudfront.net/0.4.2/fonts/proxima_nova_light_0.woff. Please use Access-Control-Allow-Origin to make these requests spec-compliant. 

知道我在这里缺少什么吗?任何帮助将不胜感激。

最佳答案

您遇到的问题似乎是索引标记中缺少 ng-view

<div ng-view=""></div>

如果没有此元素,您的 Controller 将加载,但没有地方插入 View 模板。

您可以阅读更多相关信息 here

关于javascript - 如何从 angular.js 中的非标准目录加载部分内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25415697/

相关文章:

javascript - 如何在 AngularJs 中使用 ng-repeat 过滤(键,值)?

html - 为什么我们不应该将 DOM 代码与 Angular 代码混合在一起?

javascript - 仅为移动设备加载 JQuery Mobile 脚本

javascript - AngularJS "ng-repeat | filter:..."没有按我的预期工作(不显示任何数据)

javascript - Vuex:从另一个模块访问状态

javascript - 单击时关闭 Twitter Bootstrap 下拉弹出窗口

javascript - 为什么 angularjs $scope.$digest() 更新父作用域?

javascript - 页面中有多个快照绘制和快照内容

javascript - Angular Js。如何修复错误 : $resource:badcfg Response does not match configured parameter

javascript - highcharts,移动响应,图表不适合容器内