问题标签 [isolate-scope]

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 投票
1 回答
225 浏览

angularjs - ng-change in 指令稍后更新控制器的模型,然后调用回调方法

我有ng-model/ ng-changeinside 指令。它们通过属性“映射”到控制器范围。但是当ng-change执行时,控制器的范围还没有更新。它总是落后一步。

为什么会发生这种情况,推荐的同步方法是什么?所以从指令中调用“更改”应该在控制器上调用“do”,并且 scope.params.v 的值应该是最新的?

这里的例子

0 投票
1 回答
769 浏览

angularjs - UI BootStrap 选项卡的 AngularJS 指令(隔离范围问题)

我正在尝试制定一个指令来使用 Angular UI Bootstrap Tabs。
该指令的主要目的是记住已选择的选项卡。
我已经查看了所有的解决方案,但似乎没有一个可以解决未在控制器中设置的选项卡的问题:

注意“sctab”是我的指令名称。在这里,我有以下工作:

  • 单击一个选项卡,它将设置 url 哈希作为选项卡标题名称
  • 如果您单击链接然后返回,则会记住该哈希值。
  • 在页面加载时识别与哈希匹配的选项卡(或元素)

但是,我在最后一步遇到了障碍:

  • 激活与 url 哈希匹配的选项卡

为此,我尝试了几件事,您可以在下面的代码中看到。没有一个完全奏效。

我相信活动状态是在 ui 引导选项卡指令的隔离范围变量中设置的,称为“活动”。

ngClass 也绑定到这个变量:

所以基本上在这里我一直在尝试为选项卡设置 active = true 以尝试激活选项卡(无济于事)。
在详细介绍之前,我将在这里停下来看看是否有人根据我的尝试有想法。
这是我的指令:

0 投票
1 回答
754 浏览

javascript - Angular 指令隔离范围:范围函数不会执行

我无法理解如何定义具有隔离范围的指令使用(或内部)的函数。在下面的代码中,为什么$scope.foo()函数没有执行?有没有正确的方法可以解决这个问题?我希望制作一个仅在用户登录时才可见的按钮,并且认为指令将是封装/隔离该功能的好方法。

Plunker:http ://plnkr.co/edit/Sm81SzfdlTrziTismOg6

0 投票
1 回答
26 浏览

javascript - 如何创建指令模块名称的隔离范围?

我有一个名为的指令contenteditable,其隔离范围为post: "&"

问题:

如何将名为 Post 的隔离范围替换为默认的 contenteditable 指令。


因此:目前看起来像这样

最后的 html 将如下所示:

0 投票
2 回答
964 浏览

angularjs - Angular Material 中的 md-dialog 不接受隔离范围

我正在使用 Angular Material Dialog 来根据我的数据内容生成弹出窗口。我正在使用 ng-repeat 创建按钮,在其单击时会生成对话框。但我无法将单个对象作为范围注入控制器。这是Plunker的链接

代码文件如下:

应用程序.js

索引.html

请提出任何更改以实现此目的。

0 投票
2 回答
1881 浏览

angularjs - 与 parent.parent 范围的双向绑定

我有一个问题,即具有隔离范围的指令未通过绑定到其 parent.parent 范围进行更改。

总之,我希望对绑定到父属性的指令隔离范围中的属性所做的更改会一直传播到该属性的父范围(该属性是从 parent.parent 范围继承的) ,但事实并非如此。它仅更改直接父范围的值,而 parent.parent 范围具有旧值。更糟糕的是,对 parent.parent 范围属性的任何更改都不再渗透到隔离范围或其直接父级。我知道这是构建 Angular 范围的 Javascript 原型继承的正常行为,但在这种双向数据绑定的情况下不需要它,我正在寻找 Angular 中的解决方案。

以下是行为示例:http: //jsfiddle.net/abeall/RmDuw/344/

我的 HTML 包含一个控制器 div ( MyController1),其中是另一个控制器 div ( MyController2),其中是一个指令 ( MyDirective):

JavascriptmyMessage在外部MyController作用域上定义,内部MyController2作用域继承并绑定myMessagemessage指令上,并且MyDirective定义message为隔离作用域属性。在每个级别change()都定义了一个函数来更改本地消息属性:

你会注意到的是:

  • 如果您单击MyController1几次更改按钮,所有级别都会更新(它会向下继承)。

  • 如果您随后单击MyDirective' 更改按钮,它会更新MyController2(向上绑定)但不会MyController1以任何方式更改。

  • 在此之后,单击MyController1的更改按钮不再向下渗透到MyController2范围MyDirective,反之亦然。现在两人已经分开了。这就是问题。

所以我的问题是:

  • Angular 是否有办法允许范围属性的绑定或继承(myMessage在这种情况下)一直沿父范围涓涓细流?

  • 如果不是,我应该以什么方式将指令的隔离范围中的更改同步到 parent.parent 控制器范围的属性?该指令无法了解其父项的结构。

0 投票
1 回答
402 浏览

javascript - 具有隔离范围的 Angular 指令的多个实例的范围问题

我试图创建一个表指令,它允许创建带有添加、删除和编辑选项的表。

HTML

JS(控制器)

同样,我为第二个表创建了 ageData 和 ageTable 配置。

JS(指令)

这是小提琴

删除行适用于第一个表,但不适用于第二个实例。我认为在尝试删除 ageTable 中的某些内容时,正在调用 userTable 的 deleteHandler。我可以猜测这是范围问题,但无法弄清楚。

0 投票
2 回答
3329 浏览

javascript - 从指令内部 $watch 对 ngModel 的外部更改的正确方法

我正在尝试制作一个从两个输入源读取的指令,并做一些事情将其变成一个。所以要做到这一点,我正在听我的两个输入的变化并将新的组合值分配给我的指令的 ngModel。

问题是我还需要知道何时在指令之外修改 ngModel 以执行相反的过程并正确设置我的两个指令输入源的值。有正确的方法吗?

我做了一个片段来更好地说明问题,这不是我的实际指令。

0 投票
2 回答
318 浏览

angularjs - 将 ng-model 传递给自定义指令并使其工作的问题

我创建了一个自定义指令,该指令使用国家列表自动填充选择。该指令有一个预选隔离范围属性,如果设置为 true 将预选一个国家。

ng-model也作为隔离范围属性传递问题是ng-model不会被设置

谁能给我一些关于如何制定<auto-countries>指令以便我能够设置的指示ng-model

这是我的指令代码:

更奇怪的是,在完全不使用预选的指令的更简单版本ng-model中,将设置。

没有例子有点难以理解,所以这里有一个 Plunkr! http://plnkr.co/edit/e1HPgGQlne7Q4TcNJ9XT?p=preview

0 投票
1 回答
204 浏览

angularjs - 寻找在指令之间进行单向绑定的最佳形式

我有这个笨蛋

我想知道是否有办法在指令之间进行单向绑定?

我有一个父亲指示和他的儿子。我想向孩子发送一个对象(或模型),当孩子收到这个并在输入上显示对象时,如果我修改任何输入字段;父亲不听那些变化。

我决定使用 angular.copy 来修改这个新副本,就在我进行 ng-click 时。Child 将新对象发送给父亲 ('&')。

还有另一种方法或形式来做到这一点?

谢谢