在 $stateProvider.state 中分配多个控制器

2024-04-26

对于高级角度用户来说,这可能是一个简单的问题,但我没有在某个地方找到这个问题得到很好的解释。

所以我正在重构我的代码,当我意识到一个视图中有两个控制器时,当控制器“ACtrl”由 $stateProvider 绑定并且控制器“BCtrl”由 ng-controller 绑定在视图中时,这不是问题。但是当我尝试在 $stateProvider 中分配它们时,如下所示:

$stateProvider.state('a.view', {
    url: "/anurl",
    views: {
        'menuContent': {
            templateUrl: "anUrlToMyTemplates",
            controller: 'ACtrl', 'BCtrl'
        }
    }
}); 

或者那个:

$stateProvider.state('a.view', {
    url: "/anurl",
    views: {
        'menuContent': {
            templateUrl: "anUrlToMyTemplates",
            controller: 'ACtrl',
            controller: 'BCtrl'
        }
    }
});

这是行不通的。

我知道这将是使控制器的内容达到一个的解决方案,但控制器“ACtrl”也在其他地方使用,所以我必须在其他地方重复一遍。我该如何解决这个问题...


从语法上来说,这是行不通的。这(语法上)可以工作:

$stateProvider.state('a.view', {
    url: "/anurl",
    views: {
        'menuContent': {
            templateUrl: "anUrlToMyTemplates",
            controller: ['ACtrl', 'BCtrl']
        }
    }
}); 

但是 AngularJS 使用ZERO or ONE控制器由DOMElement.

您可以分配CtrlA为您A view :

$stateProvider.state('a.view', {
    url: "/anurl",
    views: {
        'menuContent': {
            templateUrl: "anUrlToMyTemplates",
            controller: 'ACtrl'
        }
    }
}); 

进而into your A view :

<div data-ng-controller="BCtrl">
    <!-- your view content -->
</div>

也就是说,出于代码设计的目的,正确的方法是将两个控制器的操作合并到一个中,如果它们必须控制相同的模板元素。如果它们控制模板的不同部分,请对一个部分使用一个控制器,或对整个视图使用一个控制器,对特定部分使用另一个控制器:

<!-- your view controlled by ACtrl configured in route provider -->
<div> 
    <!-- your view content, part A -->

    <div data-ng-controller="BCtrl">
        <!-- your view content, part B -->
    </div>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 $stateProvider.state 中分配多个控制器 的相关文章

  • Webpack 和 Angular HTML 图像加载

    我一直对 webpack 和 Angular 感到头疼 这可能有一个简单的答案 但我无法弄清楚 我已经阅读了堆栈溢出中关于这个主题的几乎所有答案 但都无济于事 我有一个像这样的 html 页面 还有其他包含图像的模板 img
  • 如何在下拉列表中选择一个选项

    我正在使用 AngularJS 指令 我需要在模板中设置下拉列表的选定选项
  • AngularJS - 服务、工厂、过滤器等中的依赖注入

    因此 我想在我的 Angular 应用程序中使用一些插件和库 目前 我只是引用这些函数 方法 因为它们是在 99 的应用程序中以完全忽略依赖注入的方式使用的 我有 例如 javascript 库 MomentJS 它处理格式化和验证日期 并
  • 使用 ng-options 在 AngularJS 中使用 JSON 填充 select

    编辑 我的代码实际上确实有效 我只是一个有不相关问题的白痴 感谢大家的意见 所以我有一个 JSON 对象数组 格式如下 id id1 text text1 id id2 text text2 我想使用这些填充 AngularJS 选择字段
  • AngularJS - RouteProvider 解析调用服务方法

    我创建了一项检查用户登录状态的服务 如果令牌存在 则登录用户 否则重定向到登录页面 最初我通过routeProvider解析调用了这个服务 这一次就可以完美工作 但是由于Angularjs服务是单例的 因此测试不会针对连续调用运行 然后 我
  • Angular js 服务器端过滤器和分页

    我有几个输入字段 我们可以使用带有搜索名称的输入字段作为示例 当有人在该字段中输入内容时 我希望能够过滤对象的结果 但我想做过滤器服务器端而不是客户端 我有一个包含大量记录的数据库 因此我不想返回所有记录并在客户端进行过滤 这确实会减慢速度
  • 使用 Spring 和 Angular 进行 Html5 路由

    我正在尝试使用 Spring boot 和 Angular 1 5 实现 HTML5 路由 如下本文 https spring io blog 2015 05 13 modularizing the client angular js an
  • 使用 ng-if 改变角度方向

    我想通过单击将方向从 rtl 更改为 ltr and in 设置 html
  • PHPExcel下载文件

    我想下载使用 PHPExcel 生成的 Excel 文件 我按照以下代码PHPExcel 强制下载问题 https stackoverflow com questions 26265108 phpexcel force download i
  • Ionic-Angular.js 拍照并发送到服务器:空图像

    因此 我设法使用自定义指令通过 Angular js 将图像上传到我的服务器 我还成功地实现了 Cordova 的相机功能 现在我尝试连接两者 但是当将图像发送到服务器时 它们被存储为空 我认为问题在于我使用输入字段来获取图像 并且它获取了
  • 无法实例化模块 [$injector:unpr] 未知提供程序:$routeProvider

    我从 AngularJS 升级时收到此错误1 0 7 to 1 2 0rc1 ngRoute 模块不再是核心的一部分angular js文件 如果您继续使用 routeProvider 那么您现在需要包括angular route js在你
  • Angularjs:两种方式的数据绑定和控制器重新加载

    如果使用路由和控制器 则模型不会在控制器重新加载之间保存其状态 Angular 在每个路由负载上创建控制器实例和新范围 例如 我在输入中键入具有 ng model something 的内容 转到另一条路线 然后返回第一条路线 我输入的所有
  • ng-submit 不允许自定义绑定提交事件

    我有一个指令 我想用它在提交表单时广播事件 我正在做的项目有很多表单 因此无法在ng submit调用的函数中广播事件 指示 directive form function return restrict E link function s
  • Angular JS 中的数组

    我是 Angular JS 新手 我正在将元素推送到数组中 然后想使用 ng repeat 在 html 中显示 scope groupedMedia Adding elements through a for loop scope gro
  • Angular UI select:从远程服务获取数据

    我正在使用角度用户界面选择 https github com angular ui ui select https github com angular ui ui select 我查看了演示的可用位置这个笨蛋 http plnkr co
  • Angular 模态对话框最佳实践

    与不具有动态内容的对话框相比 创建具有动态内容的模式对话框的最佳实践是什么 例如 我们有一些模式表单接受表单元素列表 并具有提交 取消功能 此外 还有一些模式对话框仅显示确认 确定类型的操作 我见过很多人说对话框应该是传递到控制器的服务 但
  • Ionic/Cordova 应用程序中的身份验证

    首先 我不是专业人士 在我成为一名更好的开发人员的过程中 我试图了解需要什么以及如何完成为 Ionic Framework 应用程序创建注册 登录 大多数单页应用程序 SPA 在节点服务器上处理身份验证 该服务器还为客户端提供 HTML 就
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • Angular ui.router,从子控制器调用父控制器函数?

    我将 Angular 与 ui router 一起使用 并设置了嵌套视图 父视图有一个 div 我可以通过父控制器上的函数切换其可见性 我想从嵌套视图的子控制器调用此函数 我该怎么做 http plnkr co edit zw5WJVhr7
  • Elasticsearch 跨多个索引搜索 - 忽略不存在的索引

    我有弹性集群 其中我的索引包含当前日期 例如 example idex 2016 07 26 gt exists example idex 2016 07 25 gt exists example idex 2016 07 24 gt do

随机推荐

  • 将图像从 CV_64F 转换为 CV_8U

    我想转换类型的图像CV 64FC1 to CV 8UC1在 Python 中使用 OpenCV 在 C 中 使用convertTo函数 我们可以使用以下代码片段轻松转换图像类型 image convertTo image CV 8UC1 我
  • 如何获取 CakePHP 3.0 中最后一个插入 ID?

    使用 CakePHP 3 0 beta 似乎是一个简单的问题 但我搜索了文档但找不到任何东西 使用 this gt Model gt save 插入新记录后 我想获取新创建记录的 auto increment 主键 ID 使用 Cake 2
  • 使用 ALT+TAB 切换程序/窗口或单击任务栏时不会触发 VisibilityChange 事件

    问题在于事件 visibilitychange 的行为 已触发 当我切换到浏览器窗口内的不同选项卡时 当我单击浏览器窗口的最小化 恢复按钮时 还行吧 它没有被触发 当我使用 ALT TAB 切换到不同的窗口 程序时 当我切换到不同的窗口 程
  • 有没有办法将 spring boot 与 tcps 连接到数据库?

    我正在使用 Oracle 数据库 12c 和带有数据 JPA 的 Spring Boot 2 3 我的目标是连接钱包并将 TCPS 发送到数据库 当我搜索时 网上没有这方面的示例或指南 任何人都可以解释并举一些例子吗 如何从 Java 连接
  • Laravel 5 - 永远保持登录状态

    我想放入login页面选中 保持登录状态 复选框 除非用户注销 否则永远不应该结束用户的会话 我知道在 app config session php 中有这些变量 lifetime gt 60 expire on close gt fals
  • 从 boto3 调用 AWS Glue Pythonshell 作业时出现参数错误

    基于上一篇文章 https stackoverflow com questions 58044032 retrieving s3 path from payload inside aws glue pythonshell job 58044
  • NodeJS 连接到 SQL Server getaddrinfo ENOTFOUNT

    我正在尝试使用 Knex js 连接到 Microsoft SQL Server 但收到 getaddrinfo ENOTFOUND 我知道这表明 NodeJS 无法解析地址 通常是通过 DNS 或协议问题 const knex requi
  • 离线世界卫星地图无标签(Android)

    我想在我的应用程序中包含 MapView 我已经尝试了一下 Google Api 它运行得很好 但现在我想要一张完全离线的地图 我知道有很多可能性可以做到这一点 问题是我想要一张没有任何标签的世界地图 例如国家名称 州名称 城市名称等 我只
  • 如何在我的 django 视图函数中从 Ajax POST 获取数据?

    document ready function addFolder input keydown function e if e keyCode 13 name this val ajax type POST url folder data
  • ie7 中的 JQuery Event.target 问题

    尝试从 event target 对象访问类名 适用于 FF Safari 和 Chrome InternetExplorer 7 警告 未定义 有什么建议么
  • Apache Poi:获取 DOC 文档中的页数

    如何使用 Apache Poi 获取 DOC 文档中的页数 我尝试使用以下代码 HWPFDocument wordDoc new HWPFDocument new FileInputStream lowerFilePath Integer
  • 我如何获得 NSDictionary/NSMutableDictionary 的原始顺序?

    我已经创建了带有 10 个键的 NSMutableDictionary 现在我想按照添加到 NSMutableDictionary 的顺序访问 NSMutableDictionary 键 使用 SetValue forKey 我怎样才能做到
  • 下载使用 MVC5 选择的多个文件

    我正在 MVC5 中开发一个视图 如下所示 我需要选择表中的一条或多条记录 并能够下载数据库中以前保存的文件 我一直在寻找解决方案并做了多次测试 但我找不到解决方案 我试图从 javascript 将选定的代码发送到控制器并从中下载文档 但
  • 在我的 angular-cli 项目中从 node-sass 切换到 dart sass

    我在 npm install 期间遇到了 node sass 做各种愚蠢的问题 包括但不限于 GNU c 编译一些东西 可能是它本身 尝试运行python2 7 尝试运行任何其他版本的 python 尝试连接到github 这在企业环境中造
  • XSD 属性 NILLABLE 不起作用

    我正在努力获取一个 xml 文件来根据 XSD 架构进行验证 但我在验证时遇到了问题 每次我验证时都会收到错误消息 架构有效性错误 元素 http services website com ProgramResponse Populatio
  • 如何根据当前位置设置正确的纬度和经度

    我的目标是使用 Google Places API 进行自动完成预测 现在我想制作某种算法 该算法将采用当前位置的纬度和经度 并仅对直径为 100 200 公里的地点进行预测 那么 此时我获取用户当前位置的纬度和经度 如何设置100 200
  • 龙目岛与休眠

    这可能吗 没有看到太多关于它的讨论 当然 根据我的经验 它效果很好 这是一个示例实体 Entity Cache usage CacheConcurrencyStrategy READ WRITE public class PingerEnt
  • 避免 JSF Web 应用程序上的后退按钮

    我正在显示非常敏感的数据 用户从我的服务器注销后 我不希望其他用户能够看到点击浏览器后退按钮的数据 我怎样才能实现这个目标 默认情况下 浏览器的后退按钮根本不会向服务器发送 HTTP 请求 相反 它从浏览器缓存中检索页面 这本质上是无害的
  • 如何显示信息窗口而不显示谷歌地图中标记的图标

    我可以只显示谷歌地图中的信息窗口吗 我正在使用 Google Map 的 V2 api 开发 Android 应用程序 我想在信息窗口中显示路线信息 但不想显示标记图标 那么信息窗口可以与标记分开吗 如果是这样 我怎样才能在隐藏标记的同时只
  • 在 $stateProvider.state 中分配多个控制器

    对于高级角度用户来说 这可能是一个简单的问题 但我没有在某个地方找到这个问题得到很好的解释 所以我正在重构我的代码 当我意识到一个视图中有两个控制器时 当控制器 ACtrl 由 stateProvider 绑定并且控制器 BCtrl 由 n