javascript - Angularjs:模板之外的 JavaScript 不起作用

标签 javascript jquery angularjs templates filter

:) 我的 index.html 文件正文中有一个输入,它的作用类似于我的模板的静态 header 。唯一的问题是我的模板中有过滤器,如下所示:

<!-- Home Template --> <script id="home.html" type="text/ng-template"> <ion-view title="plz help"> <ion-content> <div class="list" id="list" ng-repeat="phone in phones | filter:query"> ... </div> </ion-content> </ion-view> </script>

所以这使得它成为“2个独立的文件”(它们都在index.html内)。这使得我无法从模板外部的标题中的按钮“清除过滤器”。

有什么方法可以将不同的"file"相互“包含”,以便我可以在两个"file"中执行 JavaScript?

提前致谢!

最佳答案

您可以使用嵌套范围来执行此操作。因为 query 位于根范围内,因此从 Controller 的范围内可见。你有例子here

但是,有时会出现一个问题,如果先前未在主 Controller 中定义,则来自根或父作用域的变量在嵌套作用域中不可见。此外,您还可以使用 $rootScope 服务来更轻松地访问。

希望我能澄清一点。

关于javascript - Angularjs:模板之外的 JavaScript 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25583802/

相关文章:

javascript - 如何选择多个div id

data-binding - 了解 AngularJS 中的双向数据绑定(bind)

javascript - 可粘贴 div : paste disappear in context-menu, 只能通过 ctrl+V 工作

javascript - 与 IntersectionObserver API 的行为不一致

jquery - 使用 jquery 选择表单过滤器

javascript - 来自指令模板 AngularJS 的事件

javascript - 如何在 Angular 中制作交互式 Google 图表(UI 事件)?

javascript - 显示可用图像

javascript - 用于添加/删除行的 jquery 实时函数

javascript - 更新 Bootstrap Popover 内容