问题标签 [angularjs-ng-transclude]
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.
javascript - AngularJS:ngTransclude 和 ngRepeat 的访问范围
我们正在将我们的应用程序升级到 Angular 1.3.0。在此过程中,我们遇到了一些问题,其中大部分似乎归结为 ngRepeat 内部的 ngTransclude 行为。
我们有一个重复一堆项目的指令,它们周围有一个容器,但不拥有该容器的子项。例如,这是一个简化的示例:
在内部,该指令包含<li ng-repeat="item in items" ng-transclude></li>
.
在更新之前,这工作正常。重复的、嵌入的元素位于继承自 ngRepeat 创建的范围的范围内。截至更新,项目位于从控制器继承的范围内,据我所知,无法访问由 ngRepeat 创建的范围。
下面是两个 JS Bin 示例:
- 旧(1.3.0-beta.1)行为:http: //jsbin.com/kalutu/1/edit
- 新(1.3.0)行为:http: //jsbin.com/gufunu/1/edit
如何在 Angular 1.3.0 中实现旧行为或类似行为?如果这是 ngTransclude 的预期行为,我如何在不知道它们是什么的情况下重复一堆子节点?
angularjs - AngularJS:如何获取指令的未编译嵌入内容
我正在尝试使用指令的嵌入内容(指令的原始内容,而不是模板)作为网格中一行的 HTML 模板。
这个想法是我需要 action-column-template 的原始 HTML(未编译,未绑定到任何范围)。
我不控制每一行的生成,所以我不能使用 transclude(rowScope) 手动将该操作模板绑定到每一行的范围。我只需要它作为纯 html(即“{{ }}”s 和内部指令不变)。
从链接函数运行 transclude() fn 给了我被嵌入的内容,但绑定到一个范围并扩展了内部指令。并且 compile 函数的 tElem 参数的 html() 返回指令模板的 HTML,而不是要转入的内容。
所以问题是:我可以在编译、控制器、preLink 或 postLink 函数中将指令的内容转换为未编译的 HTML 吗?
谢谢你。
javascript - Angular Transclude - ng-repeat 不重复
一直在使用 Angular 指令并遇到了一个我偶然发现的问题......以下是代码:
对象被成功推送到数组中,但为什么它们不重复呢?
感谢您的任何帮助。
javascript - Transclude 然后用 angularjs 替换
我想创建一个替换指令:
和 :
该replace
方法尚未弃用。
如何编写一个指令来操作 DOM 创建一个div
,将default-overlay
类添加到先前定义的类中,嵌入和替换<my-map>
指令?
是否可以将过程划分为:DOM操作compile
和嵌入link
?
javascript - AngularJS 和 JQuery UI 选项卡
我已经看到了一些使用 AngularJS 的选项卡示例,而很少看到使用 AngularJS 的 JQueryUI 选项卡,因此我尝试创建两个指令来创建选项卡容器和选项卡项。
这是我创建的示例代码:http: //jsfiddle.net/davidzapata/tvq6w1g9/2/
HTML
JS
我以前从未在 jsfiddle.net 中创建过代码,但该代码似乎加载了所需的库。即便如此,控制器工作,“问候”模型被渲染,但选项卡不起作用,它们甚至没有将内容嵌入到相应的元素中。
当然,我是一个使用AngularJS的新手,但我还没有想出如何解决这个问题。
谢谢!
angularjs - 在执行任何子指令之前克隆包含内容
我创建了一个指令,用于显示另一个指令的示例,该指令用作类似引导程序的文档页面的一部分。这是一个例子:
我希望它复制放置在其中的标记并将其放入<code>
标签中以显示您需要使用该指令的标记。
但是ng-model
将类添加到输入中,使其:
相反,该example
指令应捕获:
但是,在任何内部指令运行之前,我似乎无法访问嵌入的内容。这是一个证明问题的plunker。
在controller
、preLink
和postLink
函数中,输入已经具有来自 的 css 类ng-model
。
有没有办法example
在 Angular 编译子指令之前访问指令的内容?
javascript - AngularJs - transclude 打破 ng-controller
我对角度有深刻的理解,我无法理解我做错了什么。
我有一个被 ng-controller 包围的指令。
HTML
ng-model="pass"
绑定到$scope.pass = "1234";
它应该由用户更新。
我的问题:
$scope.pass
视图没有更新,为什么?
这是完整的演示 - http://plnkr.co/edit/MsKm0LZtlQ45Yyq5Uw0d?p=preview
只需单击“单击我”按钮并查看结果。
angularjs - 带有 ngTransclude 的 AngularJS 指令不显示 {{bound}} 内容
我正在尝试创建一个 Angular 指令,该指令创建我希望在我的应用程序周围使用的表的标准化结构。
我想在 HTML 中声明指令时指定 tr 的结构,以便根据传入的数据有不同的布局。但是,我似乎无法让 ng-transclude 的内容实际呈现.
Plunker:示例
我想要以下内容:
被注入到模板内。
如何让 {{row.Username}} 等标签在 Angular 指令的 ng-transclude 中解析?
Edit1:我认为这是我刚刚发现的一个类似问题,尽管大多数投票最多的答案似乎建议避免在指令中使用 table、tr、td 等:\
javascript - AngularJS:如何将对象从指令传递到嵌入模板
我有一个指令,它创建一个允许用户执行搜索的 UI。该指令包装内容,这些内容将被嵌入并成为每个单独搜索结果的模板。像这样的东西:
我希望 ng-click 在控制器的范围内调用 selectResult 函数,但让result
对象来自指令。如何使用指令中的隔离范围来完成此操作?