当前位置: 首页 > 面试题库 >

如何在不创建新范围的情况下将一个部分包含到另一个中?

魏宸
2023-03-14
问题内容

我有这条路线。

// index.html
<div ng-controller="mainCtrl">
    <a href='#/one'>One</a>
    <a href='#/two'>Two</a>
</div>​​​​​​​​​
<div ng-view></div>

这就是我将部分加载到我的ng-view

// app.js
​var App = angular.module('app', []);​​​​​​​
App.config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/one', {template: 'partials/one.html', controller: App.oneCtrl});
    $routeProvider.when('/two', {template: 'partials/two.html', controller: App.twoCtrl});
  }]);

当我单击链接时,它会在ng-view中向我显示适当的标记。但是,当我尝试将using
包含partials/two.html在内时,它会正确显示它,但是会创建一个不同的范围,因此我无法与其进行交互。partials/one.html``ng- include

// partials/two.html - markup
<div ng-controller="twoCtrl">I'm a heading of Two</div>

// partials/one.html - markup
<div ng-controller="oneCtrl">I'm a heading of One</div>
<div ng-include src="'partials/two.html'"></div>

我该如何解决这个问题?还是有其他方法可以达到相同的结果?


问题答案:

您实际上可以在不使用共享服务的情况下执行此操作。$ scope。$ emit(…)可以将事件调度到$
rootScope,后者可以侦听事件并重新广播到子作用域。

演示:http://jsfiddle.net/VxafF/

参考: http :
//www.youtube.com/watch?v=1OALSkJGsRw
(请参阅第一个评论)



 类似资料:
  • 假设我有一个范围(section)和一个额外的要排除的范围列表,由元组(start,end)表示: 我正在寻找一种有效的算法,从这两个输入中返回一个新的范围列表,如: 这是引出第二个范围列表的主范围。 谢啦! 编辑: 实际上,deceze关于使用intervaltree的建议似乎很有趣。有几行: 显然,间隔被视为已关闭,但这是一个小问题。

  • 有人知道怎么做吗?如有任何帮助,不胜感激 问候,

  • 问题内容: 似乎没有办法用另一个数组扩展现有的JavaScript数组,即模拟Python的方法。 我要实现以下目标: 我知道有一个方法,但是它创建了一个新数组,而不是简单地扩展第一个数组。我想要一种有效的算法,该算法在明显大于(即不复制)的情况下有效。 问题答案: 该方法可以采用多个参数。您可以使用传播运算符将第二个数组的所有元素作为参数传递给: 如果您的浏览器不支持ECMAScript 6,则

  • 例如。 当我将类A作为Testng类执行时,得到以下输出 而期望的输出是

  • 我有以下内容: 我现在想在的每个元素上调用,并将结果值存储回中。我可以做类似的事情,但这将分配一个新的。有没有一种方法可以就地执行此操作,重用的分配内存?Rust中曾经有,但它已经被删除了一段时间。 作为解决方法,我向 添加了一个变体,然后执行以下操作: 这感觉不对,我必须处理代码中其他任何地方的<code>SomeType::Dummy</code>问题,尽管它不应该在这个循环之外可见。有没有更

  • 我对Java很陌生。我创建了一个带有jlabel和JTextField的GUI窗口。但是最近,对于一个项目,我需要用这些jlabel和jtextfield创建另一个类,并且需要将它们显示到main class。但我不知道怎么做。我看过这篇教程,但它只涉及jmenu(而不是jtext字段和jlabel)。 从另一个类添加Swing组件 我的代码在下面, 公共类common_items扩展了JFram