问题标签 [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 回答
557 浏览

angularjs - 与指令的两种方式数据绑定不起作用

我有一个用于添加任务的控制器。在该页面上,用户需要选择一个组进行操作。我编写了一个指令,用于允许用户选择组(文件夹)

我的页面控制器

使用指令的页面 html

指令配置

指令控制器:

现在,当它触发时,console.log()指令中的两个调用都会触发一次,使用undefined. 他们再也不会开火了。如果在控制器中我设置vm.group为其他东西$watch,则AddTaskController永远不会被解雇。

为什么数据绑定不起作用?


更新:

我注意到,如果在指令中更改指令中的init()函数以使用$scope它!我不能像 Fedaykin 建议的那样使用controllerAs两种方式的数据绑定吗?

0 投票
1 回答
95 浏览

javascript - AngularJS指令中的隔离范围

我对 Angular 很陌生,我正在尝试编写自己的指令来了解这些对象是如何工作的。我的问题在于如何隔离指令的范围,以便我可以在同一个控制器中多次使用它。

我在这里创建了一个 plunker 来更好地解释这种情况:http ://plnkr.co/edit/NsISESR9sIs5Nf577DX4?p=preview

html:

js:

基本上它适用于一个按钮,但它不适用于两个按钮,我知道我应该隔离它们的范围,但我不知道如何......我见过周围的例子,但它们使用额外属性来传递变量,而我需要调用我的内部方法。

有人可以帮我弄清楚该怎么做吗?谢谢!

0 投票
0 回答
303 浏览

javascript - 嵌套指令未正确继承父范围

嵌套指令存在问题并从父级继承范围。碰巧我想继承的范围是一个孤立的范围。我有下面的代码

测试.html

应用程序.js

特殊输入.js

如您所见,嵌套指令试图创建它自己的隔离范围,但从父级的隔离范围中获取“selectedItem”。

文档说它应该继承并且嵌入是半原型的,所以我想知道为什么它不起作用。谢谢。任何帮助,将不胜感激

更新 我已经更新了代码以显示我现在遇到的问题。似乎范围项是在父级的 pre + post 链接功能中设置的,但永远不会放下给子级。控制台输出

我尝试使用scope.$watchattrs.$observe填充值

0 投票
1 回答
171 浏览

angularjs - Angularjs指令,双向绑定不绑定

全部,

关于指令,我对 angularjs 的理解是,当您有这样的隔离范围设置时:

链接函数里面的那个:function(scope, ele, attr)

如果像这样使用,scope它将有一个dataSource绑定到name我的控制器上的属性:

<my-element data-source='name'></my-element>

然而事实并非如此,这里有一个例子:

http://jsfiddle.net/HB7LU/21879/

谢谢

史蒂夫

0 投票
1 回答
179 浏览

angularjs - 以角度隔离具有多个 jquery ui 日期选择器的范围

我在隔离下面的 date-picker-search 指令的范围时遇到了一些问题。

在我的第一次尝试中,我尝试使用此代码,但正如预期的那样,使用 ng-model="date" 更改一个输入会更新所有使用相同 ng-model 引用指令的输入。

所有模型通过单击或键入更新

我认为隔离指令中的范围可以解决问题。在某种程度上,当您只是单击日历输入日期时,但当您尝试手动输入日期时,引用该指令的所有输入都会再次更新。

仅通过单击更新模型

我能够解决此问题的唯一方法是通过为每个元素提供随机父引用(a.data、b.data、c.data、d.data)来更改每个元素的 ng-model。虽然这允许单独对每个日期选择器进行更改,但这显然是一个非常糟糕的解决方案。如果有人知道这里可能存在什么问题,我将非常感谢任何帮助。这与隔离范围有关,对吗?

0 投票
2 回答
1473 浏览

javascript - AngularJS:使隔离范围指令模板绑定到父范围

我已经在 Angular 的隔离范围中苦苦挣扎了超过 24 小时。这是我的场景:我对一个ng-repeat对象数组进行了迭代,我想从中使用自定义指令来生成一个<select><input>基于field_type当前被迭代对象的属性。这意味着我必须$compile在指令的链接后函数中生成模板,因为我无法访问模板函数中的迭代对象。

除了将生成的模板实际绑定到我的外部范围内的控制器 (vm) 之外,一切都按预期工作。我认为我的方法(在模板字符串中添加这个:)ng-model="vm.prodAttribs.' + attr.attribute_code +'"可能是错误的,并且希望得到正确方向的指针。谢谢!

请参阅下面的示例代码:

指令:

html:

控制器:

0 投票
1 回答
458 浏览

javascript - AngularJS 隔离范围 ng-model 验证

我想使用 AngularJS 为自定义组件指令提供的内置表单验证。但是它不起作用。当验证失败时,modelValue 和 viewValue 设置为 '' 空字符串。我丢了所有的打字...

脚本.js

在 DOM HTML 中

我可以在 DOM 元素中使用 ng-model 吗?因为我也想使用没有自定义隔离指令的 ng-model 指令。

目标是我希望每个表单组件指令都有它自己的隔离范围并验证它自己的范围独立父范围。如果我将<input ng-model="model">元素的 ng-model 指令更改为<input model="model">它可以正常工作。我的问题是我可以使用ng-model属性以两种方式绑定子隔离范围的ng-model同名吗?因为也许我想动态更改我的组件指令。

这是我在Plunker中创建的问题

0 投票
1 回答
1208 浏览

javascript - 在简单的 Angular 指令中使用隔离范围 - @、& 和 =

我用 Angular.js 指令为“名人姓名”做了一个简单的例子。我正在阅读隔离范围 @,&,=,但我不知道如何在下面的简单示例中使用它们来了解它们的用法和区别。有人可以帮我吗?

HTML:

结果:

请有人告诉我如何在这个简单的示例中使用 3 种类型的隔离范围。

0 投票
1 回答
741 浏览

angularjs - 带有 Isolate Scope 的 Angular Typescript 指令在编译时生成 Typescript 错误

我正在使用 Typescript 和 Angular,试图通过使用(除其他外)下面的可访问图标指令来使网站更易于访问

Typescript 编译器不喜欢隔离范围,并给我以下错误。

我不知道如何在这个结构中给出name: '@'一个text:'@'类型,我不知道为什么 TS 想要在作用域对象中使用分号,或者在模块之后添加一个声明。

我正在实现 ng.IDirective 接口,所以我希望它能够处理隔离范围。

有任何想法吗?谢谢!

作为参考,这里是 angular.d.ts 中的 IDirective 接口:

0 投票
3 回答
391 浏览

angularjs - 具有隔离范围和内部控制器的 Angular JS 指令

我已经有一段时间没有接触过 angular js 了,当我写的时候,我们使用了 typescript 的风格,这对我来说非常简单。现在我想写vanilla angular js,我觉得我有点困惑。

问题:
我有一个指令,在其隔离范围内有一些变量,我基本上想绑定到这个指令,该指令在 a for each 内生成<ul>到单击事件。我尝试在 ng-click 上直接绑定一个函数,并在点击时使用链接元素等绑定,但似乎我做错了,因为第一种方式没有任何反应,第二种方式双向绑定变量未定义。

在这里: https ://plnkr.co/edit/OOBMs8pYONLjUE9lQXla?p=preview

活动-header.html

活动标头.js

索引.html

脚本-main.js

(顺便说一句,我使用的是 Mozilla Firefox,否则我必须在 node.js 上托管它以获取相同的来源策略,不知道如何在 chrome/internet explorer 中将其关闭)。