问题标签 [one-time-binding]

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 回答
5876 浏览

angularjs - 一次绑定无法使用功能

我有一个 Angular 函数,我在其中记录一个值

在html代码中

根据这一点,该值应该被渲染一次并且永远不会再次渲染。但是当我滚动时,该值会连续打印在控制台中。

我哪里错了?

0 投票
2 回答
648 浏览

angularjs - ng-if中多个属性的角度一次绑定的语法是什么

我有一个

ng-if="dc.emailNotificationSchedule.progressInterval === dc.SkillCompletionProgressIntervals.NEVER_LOGGED_IN".

我想要做的是对ng-if. 但是当我尝试使用

ng-if="(::dc.emailNotificationSchedule.progressInterval) === (::dc.SkillCompletionProgressIntervals.NEVER_LOGGED_IN)"

角度抛出以下错误:

错误:[$parse:syntax] 语法错误:标记 ':' 不是表达式 [(::dc.emailNotificationSchedule.progressInterval) === (::dc.SkillCompletionProgressIntervals.NEVER_LOGGED_IN)] 第 2 列的主表达式
[::dc.emailNotificationSchedule.progressInterval) ===
(::dc.SkillCompletionProgressIntervals.NEVER_LOGGED_IN)]。

什么是正确的方法?

0 投票
1 回答
182 浏览

angularjs - Angular One time binding 仍然有观察者

我使用了一个简单的 AngularJS 插值和一次性绑定。代码按预期工作,对该范围变量的任何进一步更改都不会反映出来。但是,当我使用 Batarang(Chrome 扩展程序)检查我的应用程序的性能时,我观察到仍然有观察者留在那个插值上

我不确定我是否真的使用一次性绑定获得了任何性能提升。

0 投票
1 回答
1202 浏览

javascript - AngularJs 使用布尔运算符一次性绑定和排序值

声明布尔运算符的顺序有什么影响?

控制器:

模板:

单击按钮后按显示顺序生成第二个p元素。name && show我知道这两个p元素都不应该像$scope.show已经定义的那样显示并且已经使用了一次绑定?

plunkr在这里:

http://plnkr.co/edit/P0E1RhNK9EPh2Pi04c9T?p=preview

0 投票
0 回答
728 浏览

angularjs - 指令内的一次绑定

我正在尝试在指令中实现“一次性绑定”,不幸的是它不起作用。

我寻找了类似的问题,但解决方案似乎并不成立。

首先,我尝试一次性绑定一个属性,我在控制器内部更改了它的值,并在 html 上放置 {{::name}} 文本。

这工作得很好,但此刻我开始更改指令中的“名称”值 - 它在所有指令中都发生了变化并忽略了一次性绑定。

有什么帮助吗?

JS:

HTML:

答:最终解决方案是创建一个隔离范围,只需在指令中添加“范围:{}”即可解决问题:

})

0 投票
0 回答
331 浏览

javascript - Angular:具有多个值的 ngClass 的一次性绑定

我想对以下情况使用一次性绑定

如果我想对整个表达式使用一次性绑定,我知道你可以做到

但是,就我而言,我只想对两者之一使用一次性绑定。假设我只想使用一次性绑定someValueA,我尝试了以下

或者

他们都没有工作(错误)任何建议如何做到这一点?

0 投票
2 回答
637 浏览

javascript - Angular One-time bind conditionally OR unbind listener when a specific value is set

I've something like below in DOM:

And in controller:

I wanted to show that div when variant is true. So,

$scope.variant will start by false. After some time it may/may not become true. When $scope.variant became true it's never gonna change it's value. So what I want is one-time bind that ng-if once $scope.variant is true.

An approach like:

will stop binding when it's false.

I can achieve it by stop assigning false to variant in the first time, but it's not possible in my case.

How can I unbind the ng-if when variant is true?

0 投票
2 回答
599 浏览

javascript - 如何更改 AngularJS 中的一次性绑定数据?

我有一个显示手机号码、姓名等详细信息的 div{{::mobilenumber}}, {{::name}}

在那个 div 中,有一个按钮可以在新表单中呈现相同的值

通过使用表单中的按钮,用户可以更改值,但在我显示详细信息的 div 中,单击按钮后值不会更改

我只想使用单向绑定吗?

我尝试使用$scope.$broadcast('$$rebind:refresh');但仍然值没有改变。

任何帮助或指导都会对我很有帮助。

0 投票
1 回答
265 浏览

angularjs - 具有隔离范围的 AngularJs 服务

在我的 Angular 应用程序中,我有一个服务,它存储一个配置结构,供我的应用程序的各个组件使用。在通过函数从文件.runguiConfigService读取配置并能够通过函数返回某个组件的数据的阶段中:.jsonsetGuiConfiggetGuiConfig

我的问题:

在我的组件的控制器中,我希望能够操纵从getGuiConfig我的服务功能返回的任何内容,比方说,我想删除属性的最后一个条目FunctionIds。这种操作不仅会影响我的控制器中的对象,还会操作guiConfig我的服务中的 -Object。

例如,请参阅此 JsFiddle

我已经尝试过的:

  • 首先我想,问题是我调用了一个回调函数而不是直接返回对象,但是我试过了,它似乎也不起作用。
  • 发送我的服务guiConfig对象的副本JSON.parse(JSON.stringify(guiConfig[buzzword]))是有效的,但在我看来这不是正确的做法。

有没有一种好方法可以从 service 中的对象返回数据,而不引用实际对象?

0 投票
2 回答
3344 浏览

javascript - Angular Translate 有时无法通过一次性绑定进行翻译

我正在使用 Angular 1.x,它是 Angular Translate 模块。最近,我将所有翻译绑定从双向切换为一次性。一切都很好,但是直到有一天,我注意到有时如果我开始刷新页面,翻译实际上并没有被翻译。

例子:

在 90% 的情况下,结果是正确的。然而,在另外 10% 中,呈现的结果是:

这是什么原因,我该如何解决?

编辑:

这不会发生在 ng-if、ng-repeat 或指令内的元素上——例如当它们在子作用域内时。