如何在angularjs的子模块中引用控制器

rom

我在angular应用程序上使用模块/ sub模块,我的控制器未在特定路径上加载,但视图却加载了,根据对此问题的评论,我应该引用主模块内的子模块,并且应该招。

这是我引导应用程序的代码:

angular.module('mainApp', ['ui.bootstrap', 'ui.utils', 'ui.router', 'ngResource', 'ngAnimate', 'ngCookies', 'facebook', 'subModule1', 'subModule2', 'subModule3']);

angular.module('mainApp').config(function ($stateProvider, $urlRouterProvider, $locationProvider, FacebookProvider) {
    $stateProvider.state("root",
    {
        url: '',
        abstract: true,
        views: {
            'footer@': {
                templateUrl: "/partial/footer/footer.html",

            },
            'header@': {
                templateUrl: "/partial/header/header.html",
            }
        }
    }).state('root.home', {
        url: '/index',
        views: {
            'container@': {
                templateUrl: '/partial/index/index.html',
                controller: 'IndexCtrl'
                }
            },
        }
    ).state('root.login', {
        url: "/login",
        views: {
            'container@': {
                templateUrl: '/partial/login/login.html',
                controller: 'LoginCtrl'
            }
        },
    });
    FacebookProvider.init('xxxxxx');
    $urlRouterProvider.otherwise('/index');
    $locationProvider.hashPrefix('!');
});

我在名为/subModule1/submodule1.js的单独文件夹中拥有子模块配置

angular.module('subModule1').config(function($stateProvider) {
    $stateProvider.state("submodule1",
    {
        url: '',
        abstract: true,
        views: {
            'footer@': {
                templateUrl: "/partial/footer/footer.html",

            },
            'header@': {
                templateUrl: "/partial/header/header.html",
            }
        }
    }).state('submodule1.dashboard',
    {
        url: '/dashboard',
        views: {
            'container@': {
                templateUrl: '/subModule1/partial/dashboard/dashboard.html',
                controller: 'DashboardCtrl',
                resolve: {
                    dashboardinfo: function($resource) {
                        var resourceGet = $resource('/submodule1/dashboard');
                        return resourceGet.get().$promise;
                    }
                }
            },
            'sideBar@': {
                templateUrl: '/submodule1/partial/sidebar/sidebar.html'
            },
            'navBar@': {
                templateUrl: '/submodule1/partial/navbar/navbar.html'
            }
        }
    });
});

控制器定义为:

angular.module('subModule1').controller('DashboardCtrl', function ($scope, $interval, $resource, notification, dashboardinfo) { ... }

位于页面根部的索引(即页面布局)具有

<html ng-app="mainApp">

并且控制器具有ng-controller定义,如下所示:

<div ng-controller="DashboardCtrl">

一切都很好,只是控制器没有运行,也没有被视图执行。

拉迪姆·科勒

ui-routerng-controller="DashboardCtrl"旨在协同工作。ui-router世界上,我们直接在状态定义中分配Controllersviews

因此,这(就像您已经拥有的一样,没有任何更改)就足够了:

.state('submodule1.dashboard',
{
    url: '/dashboard',
    views: {
        'container@': {
            templateUrl: '/subModule1/partial/dashboard/dashboard.html',
            controller: 'DashboardCtrl',

也就是说,ui-view="container"在根(index.html)呈现在内部的视图应提供DashboardCtrl

有一个使用上述状态定义示例(尽可能为1:1)

这是index.html的内容:

<div ui-view="header"></div>
<div ui-view="navBar"></div>
<div ui-view="container"></div>
<div ui-view="sideBar"></div>
<div ui-view="footer"></div>

并且此链接将正确触发以上状态:

// root
<li><a ui-sref="root.home">root.home</a></li>
<li><a ui-sref="root.login">root.login</a></li>

// dashboard
<li><a ui-sref="submodule1.dashboard">submodule1.dashboard</a></li>

所有其他详细信息请点击此处

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在angularjs的子模块中引用控制器

来自分类Dev

AngularJS-如何从ui路由器引用子模块控制器?

来自分类Dev

如何在AngularJS控制器中引用/要求父控制器?

来自分类Dev

如何在Swift中引用导航控制器?

来自分类Dev

AngularJS-如何在控制器中过滤日期

来自分类Dev

如何在angularjs的控制器中输出json数据

来自分类Dev

如何在AngularJS控制器中编码URL

来自分类Dev

如何在Angularjs中刷新控制器?

来自分类Dev

如何在多个文件中定义控制器-AngularJs

来自分类Dev

如何在AngularJS中实现控制器特征

来自分类Dev

如何在angularjs的控制器中调用函数?

来自分类Dev

如何在angularJS控制器中编写Switch语句

来自分类Dev

如何在AngularJS的子控制器中调用函数?

来自分类Dev

如何在angularjs中的控制器内部求和

来自分类Dev

如何在AngularJS控制器中测试服务?

来自分类Dev

如何在AngularJS中实例化控制器组件?

来自分类Dev

如何在angularjs控制器中读取对象?

来自分类Dev

如何在 angularjs 控制器中获取 json 数据

来自分类Dev

如何在AngularJS的Router UI控制器中访问主控制器变量?

来自分类Dev

如何在Ajax调用中在控制器外部调用Angularjs控制器函数

来自分类Dev

如何在laravel 4.1中的控制器中调用模块的模型和控制器文件

来自分类Dev

如何在AngularJS中声明子模块

来自分类Dev

如何在AngularJS中声明子模块

来自分类Dev

使用“作为控制器”语法时,如何在子控制器中引用父级的作用域?

来自分类Dev

子模块中的play2调用控制器,模型,视图

来自分类Dev

如何处理 AngularJs 模块外的模态控制器?

来自分类Dev

列出AngularJS模块中已声明的指令/控制器

来自分类Dev

AngularJS中的控制器和过滤器模块

来自分类Dev

AngularJS在获取HTML元素的控制器中引用表单

Related 相关文章

  1. 1

    如何在angularjs的子模块中引用控制器

  2. 2

    AngularJS-如何从ui路由器引用子模块控制器?

  3. 3

    如何在AngularJS控制器中引用/要求父控制器?

  4. 4

    如何在Swift中引用导航控制器?

  5. 5

    AngularJS-如何在控制器中过滤日期

  6. 6

    如何在angularjs的控制器中输出json数据

  7. 7

    如何在AngularJS控制器中编码URL

  8. 8

    如何在Angularjs中刷新控制器?

  9. 9

    如何在多个文件中定义控制器-AngularJs

  10. 10

    如何在AngularJS中实现控制器特征

  11. 11

    如何在angularjs的控制器中调用函数?

  12. 12

    如何在angularJS控制器中编写Switch语句

  13. 13

    如何在AngularJS的子控制器中调用函数?

  14. 14

    如何在angularjs中的控制器内部求和

  15. 15

    如何在AngularJS控制器中测试服务?

  16. 16

    如何在AngularJS中实例化控制器组件?

  17. 17

    如何在angularjs控制器中读取对象?

  18. 18

    如何在 angularjs 控制器中获取 json 数据

  19. 19

    如何在AngularJS的Router UI控制器中访问主控制器变量?

  20. 20

    如何在Ajax调用中在控制器外部调用Angularjs控制器函数

  21. 21

    如何在laravel 4.1中的控制器中调用模块的模型和控制器文件

  22. 22

    如何在AngularJS中声明子模块

  23. 23

    如何在AngularJS中声明子模块

  24. 24

    使用“作为控制器”语法时,如何在子控制器中引用父级的作用域?

  25. 25

    子模块中的play2调用控制器,模型,视图

  26. 26

    如何处理 AngularJs 模块外的模态控制器?

  27. 27

    列出AngularJS模块中已声明的指令/控制器

  28. 28

    AngularJS中的控制器和过滤器模块

  29. 29

    AngularJS在获取HTML元素的控制器中引用表单

热门标签

归档