问题标签 [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.
angularjs - 指令中的动态嵌入值
我有这样的指令:
我想为嵌入值创建一个 var 并根据条件进行更改,我该怎么做?
angularjs - Controller $scope property does not change with expression in transcluded content
The problem is that when you have transcluded content which contains an expression as an attribute of ng-click for example, the change does not occur in the scope of the parent controller as you can see in this fiddle:
Nothing happens when you click hide box inside of transcluded content.
Here, the expression in ng-click has no effect on the $scope.showBox in the controller but you would think that it would because the scope of the transcluded content should be the same as the controller scope, right?
angularjs - Angular wrap 分别嵌入元素?
我对 Angular 很陌生。尽管我已经取得了很大的进步,但仍有一些我不知道的事情。
目前我遇到了一个嵌入“问题”。
基本上,我们想要的是用父指令控制的 html 分别包装每个嵌入的元素/指令。
例子:
期望的结果(我保留了指令元素以使示例更加清晰):
有谁知道如何处理这个问题?我知道在我的示例中我可以引入一个面板指令,但请注意这只是同一问题的一个示例。
angularjs - 带有嵌套指令的 Ng-transclude
我正在使用 2 个指令,其中一个指令模板包含第二个指令。我想ng-transclude
在第二个(嵌套)指令中使用。我怎样才能做到这一点?这是一个 plnkr。
javascript - 在编译中断中包含 ng-repeat 的角度
我正在尝试创建一个指令,该指令可以将两件事转换到不同的位置,其中一个是ng-repeat
,但是在我的编译函数中使用$transclude
break if return undefined is not a function
,但是如果我这样做它pre-compile
可以工作但ng-repeat
没有内容。
我的代码看起来像这样
我也尝试过手动转换,它返回一个空的 ng-repeat
侧边栏项目的模板
指令的使用
交替使用
javascript - 在加载指令模板之前指令加载 ng-transclude 内容
我正在制作一个指令,该指令具有一个加载模板,并带有一些被传递的嵌入内容。所以基本上我的 html 是
但是,当我的页面加载时,有一瞬间我只看到页面上的嵌入内容。我猜在页面最初加载和指令模板加载之间存在延迟。有没有办法在指令模板加载之前隐藏嵌入的内容?
非常感谢,这真是一种不和谐的体验,首先快速加载。有谁知道如何解决这个问题?
angularjs - AngularJS:如何转换并同时拥有隔离范围和父范围?
我有一个模式,其中许多项目类型是“可编辑的”。这意味着我有很多模板(每个可编辑项目类型一个),它们希望具有唯一的字段,但具有通用功能(编辑、保存、取消编辑、删除等)。这些常见的功能会导致控制器上的大量重复:save
、edit
、cancel
等,以及非常重复的错误处理。
我处理这个问题的一种方法是让每个控制器“装饰”自己(使用服务),但它也变得一团糟。
我更喜欢一个指令,比如“可编辑”:
问题是所有模型都来自控制器范围,因为它们是这个模板独有的,而重复的范围项,如功能save()
cancel()
edit()
delete()
都来自指令隔离范围。
我是,嗯,混合范围,当然我无法提前知道哪些项目需要可用。因此,如果我包含以下内容:
- 隔离范围:我无法访问嵌入元素中的控制器模型,以及用于验证的表单
- 控制器范围(默认):我无法访问指令中添加的 on 函数,这首先是指令的重点!
我在这里做错了什么;什么是更好(更清洁?)的方法来做到这一点?
angularjs - Angularjs:使用递归指令时如何访问本地范围
背景:
我正在尝试从 JSON 模式设置树视图 - 我schema-tree
在此代码中设置时使用指令执行此操作。在视图中,我试图嵌入 DOM 元素,以便可以重用此树视图。但是,由于每个端点都有一个转置 DOM 的副本,所以我需要确定递归中的哪个转置 DOM 副本已被访问。
问题: 但是,我访问 this 范围的尝试失败了。我想出的最好的方法是修改指令的编译函数中的范围,但这只会将 transclude 范围更改为指令第一次调用的值,而不是每次调用的递归值。
代码:
请在此处找到 Plunker:http ://plnkr.co/edit/3wmUbMTPNuBHXYOKHsho?p=preview
在此代码schema-tree
中是一个递归树,我尝试path
在单击按钮时为每个递归提取变量。我可以path
在每个指令内获得,但不能在我仅获得的关联的 Transcluded DOM 中获得.root
。
问题:
我做错了什么?如何访问path
嵌入的 DOM 中的直接父级。
在相关说明中,我应该使用另一种方法来解决这个问题吗?
提前致谢!!!!!!!
angularjs - 隔离范围也用于嵌入?
我想在我的其他指令中添加我的自定义指令。第二个指令应该使用第一个指令的范围。问题是第一个指令具有隔离范围,并且显然它对于第二个指令也是隔离的,在我看来它不应该因为我使用的是 transclude。
这是示例。当我评论scope: {test:"@"}
所有作品时。如何解决?
javascript - 在 transclude 函数中添加 ng-model 属性
我正在尝试在所有具有“名称”属性的元素和指令中添加属性 ng-model,但是由于某种原因,当我使用链接函数的 transclude 函数时,指令会删除我的 ng-model添加然后角度向我抛出错误:
当我在我的 chrome 开发人员工具中看到 DOM 时,在我使用以下代码添加它之后,ng-model 被删除(从指令元素中删除,但不是从简单输入元素中删除):
为什么在 Transclude 函数中编译指令时删除属性?,我怎样才能实现我需要的?