问题标签 [angularjs-ng-include]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2029 浏览

angularjs - 修改 ng-include 指令

如果我在某个自定义位置托管一个角度应用程序,e.g. http://localhost/collosys那么我必须将所有 ng-include 更改为所有地址都具有“/collosys/”,因为我使用绝对地址来引用任何 html 文件。

这就是我目前正在做的事情

然后在重写 ng-include 标记

我可以修改 ng-include 标记本身,以便它可以在所有地址前面加上托管地址

编辑

我在某处读到 angularjs 指令是可扩展的,任何关于如何扩展 angularjs ngInclude 指令的示例?有什么例子吗??

0 投票
2 回答
2293 浏览

html - ng-view 中的 ng-include 出现 404 问题

我到处寻找答案,但不幸的是我什么也没找到。

我有一个看起来像这样的工作 Angular 应用程序:

我正在使用 ngRoute 将 html 部分加载到 ng-view div 中。

我的 JS:

到这里为止,一切都是魅力。我已经完成了几乎所有我需要的东西(一个多步骤向导)。

在最后一步,我需要使用<script type="text/ng-template" id="specialTemplate.html"></script>生成一些特殊的模板(一棵树)

因此,在我的最后一步页面部分(template3.html)中,我执行了以下操作:

我在这里卡住了。我在控制台上收到404错误(他试图在我的浏览器 url 指向的同一目录中查找specialTemplate.html),并且模板没有加载。

当我进行一些测试时,我看到如果在ng-include外部ng-view,但在与我当前工作流程分离的干净内部ng-controller,它确实会找到并加载模板,但这对我没有帮助,因为我必须在我的工作中渲染树步骤流。

是不是不可能在<script>里面加载一个基于模板的ng-view

在此先感谢您的帮助。

编辑: 版本:AngularJS v1.3.0-beta.3

0 投票
1 回答
1174 浏览

angularjs - 有没有办法在 ng-include 中使用角度过滤器?

这就是我想要做的:

没有过滤器它工作正常

0 投票
4 回答
6013 浏览

angularjs - Jade 中的 Angular ng-include。

我正在尝试在我的 Jade 模板中使用来自 Angular 的 ng-include 包含一个标题:

header.jade 中的文本如下:

我都试过ng-include(src='\'/partials/header.jade\'')div(ng-include='\'/partials/header.jade\'')

在 Chrome 开发者控制台中,第一个结果<!--ng-Include: undefined -->和第二个结果:<!-- ng-Include: '/partials/header.jade' -->

有什么线索吗?

0 投票
0 回答
347 浏览

javascript - Angular ng-include 和指向当前 URL 的链接

我对角度 ng-include 有非常奇怪的问题。下面是我案例的非常简化的 HTML 代码:

问题是,当当前打开的页面是主页 (www.mysite.org) 时,徽标链接不起作用。如果我不使用 ng-include 而是将 HTML 直接放在模块持有者中,那么一切都会按预期工作......

它是否隐藏了角度或错误的特征,或者我错过了什么?

我使用角度 1.2.14。谢谢

编辑:要清楚......模板加载没有问题,问题在于页面上引用当前页面的其他链接。当我不使用 ng-include 时,链接没有问题。不幸的是,我不知道如何在 plnkr 或 jsbin 上创建演示,iframe 中的当前 URL 是“about:blank”并且可以。

编辑 2:我想我成功地在 plnkr 上复制了它:demo

0 投票
0 回答
457 浏览

angularjs - ng-include 不加载模板

我在我的指令中使用 ng-include 在函数中

这个函数渲染代码

即使发送了对模板的请求,也不会加载进一步的停止模板..

0 投票
1 回答
576 浏览

javascript - 如何以角度将数据从部分视图传递到主视图?

我有一个主要视图,其中包括如下部分:

部分有一个变量,该变量在单击元素时填充,我需要将该数据从部分传递给父级。该变量在部分的控制器中填充为:

但是当我尝试在主视图上访问它时它不存在。

如何在父级中访问它?

0 投票
3 回答
14991 浏览

angularjs - 为什么在检查 $pristine 或 $setDirty() 时在 ng-include 中形成 undefined?

当我单击“检查”按钮时,以下代码会引发错误“TypeError: Cannot read property '$pristine' of undefined”。

html

myForm.html

plunkr

问题是我的 Ctrl2 看不到 productForm。起初我认为这与 ng-include 在创建子范围时所做的原型继承有关,所以我尝试在 Ctrl2 中添加一个变量:

这消除了错误,但我的控制器仍然没有正确看到 $pristine 或 $dirty。

我终于通过在 productForm 上方添加一个 $scope.formHolder 对象来让它工作:

plunkr

html

为什么这行得通?有没有更好的方法来做到这一点?

我以这种方式结束了,因为我有一个工作表单和控制器/模板,我想在其他地方重用。我可能应该做一个指令,但是除了表单的 $pristine 和 $dirty 特性之外,一切都很好——所有的 ng-model 变量都被正确传递了。

如何将包含在 ng-include 中的表单设置为 prestine?有一个“违反所有规则”的答案,但似乎更复杂。

当我写时,表单控制器何时将 $pristine 添加到范围,以及添加到什么范围?

编辑/回答:

我最初的问题可以归结为对表单指令如何写入范围的混淆。我的印象是它会把东西放进去

并为其添加属性,例如

但是,它直接写在 productForm 之上:

因此,表单对象存储在子项中,而不是所选答案中解释的父项。

对我有帮助的子范围继承中的关键金块是在阅读时咨询了链条,而不是写作。因此,如果您设置了 childScope.myThing.property = '123' 之类的内容,虽然它看起来像写入,但它首先必须进行读取以找出 myThing 是什么。而设置 childScope.myThing = '567' 是直接写入,根本不涉及查看父链。这在下面得到了更好的解释:AngularJS 中范围原型/原型继承的细微差别是什么?

0 投票
1 回答
189 浏览

javascript - ng-click 不适用于动态包含

这个小提琴演示了一些代码,我用它自己的控制器懒惰地添加了一个部分。

一切正常,但由于某种原因,我的ng-click事件不会触发。知道我做错了什么吗?

0 投票
1 回答
7625 浏览

javascript - 调试 Angular 的摘要循环:如何找到死循环的原因?

我目前正在处理一些带有延迟加载内容+控制器的代码。我的代码基本上像这个 fiddle一样工作。但是,由于某种原因,我的版本不起作用,而是每当 angular 尝试更新它的视图时,我都会得到一个无限的摘要循环。

当我ng-include从这个简单的重复语句中删除时,问题就消失了:

最奇怪的部分:exact same error即使pageNames从未分配给范围,也会发生。两个范围(外部和内部控制器的范围 - 我都有一个)可以完全为空(我检查了 Batarang - 我只有两个空范围),我仍然得到错误。

我的代码有点太复杂了,有太多其他依赖项,所以在这里发布它是没有意义的。它最纯粹的版本是上面的小提琴。我找不到两者之间的逻辑差异。当我用 Batarang 检查我的示波器时,我也没有发现任何可疑之处:

  • 我没有在我的范围内使用函数
  • 我没有利用$watch
  • 我没有利用ng-model

我的结论是我没有明确地改变任何东西,所以它一定是有角的。

我能否以某种方式让 Angular 或 Batarang 告诉我在摘要迭代后哪些范围变量发生了变化,以便我可以确定导致无限循环的罪魁祸首?

更新:

我终于想通了,history.pushState一切都搞砸了。我现在正在寻找替代方案,例如$location服务。尽管如此,我仍然想知道如何调试这类问题。有什么提示吗?