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

angularjs - Angular 一次绑定 ng-if 多个条件

在我的模板中,我有很多与我的用户权限和产品权限相关的条件,例如:

如果不转到新页面,就无法更改这些权利......所以我想我可以使用一个绑定 :: 来获得更好的性能。

我试过了:

并且:

但条件似乎不起作用,有什么想法吗?

0 投票
1 回答
432 浏览

angularjs - 一次性绑定和只读的性能怎么样

一次性数据绑定:

顾名思义,绑定只发生一次,即在第一个摘要循环中。一次性绑定允许模型或视图在第一次摘要时从控制器设置的值更新一次

语法{{::expression}}.在 angularjs 中,在 angular 2 中在这里:angular 2 one time binding

只读

如果 ngReadonly 中的表达式为真,则设置元素的 readonly 属性。请注意,只读仅适用于具有特定类型的输入元素

语法 is ng-readonly="expression"和 angular 2 有[readonly]="true"

差异与疑问

我想两者都在做同样的过程,但唯一的区别read-only是允许禁用控件。那么那些和他们之间的表现有什么不同呢?

0 投票
1 回答
93 浏览

javascript - 避免 ng-repeat 仍然使用两种方式绑定

我的 Web 应用程序很大,我经常使用它ng-repeat来获取数据列表。这会导致性能下降,有时非常烦人。我知道避免这种情况的不同方法,ng-repeat但这些方法建议使用一次性绑定技巧!我不能这样做,因为我的应用程序需要始终更新数据。那么,有没有其他方法可以加快速度ng-repeat呢?顺便说一句,我仍在使用分页来显示我的数据。谢谢

0 投票
1 回答
42 浏览

angularjs - ng-repeat one-time binding inheritance?

If I have an ng-repeat directive iterating through a list of lists via a one-time binding, does a nested ng-repeat through each of the inner lists also need a one-time binding, or is that redundant?

Do I need to change the inner ng-repeat to item in ::list? $ctrl.lists will never change in any manner.

0 投票
2 回答
674 浏览

angularjs - Ng-repeat 一次性绑定和“跟踪”更改

我们的网络应用程序使用 ngRepeat 来显示项目列表。数组及其对象永远不会更改,但用户可以修改其中对象的值。

我们为每个项目生成一个唯一的 trackId。每次项目的值更改时,都会更新此 trackId。

我们还使用一次性绑定语法来减少页面上的观察者数量(因为它可以迅速攀升至数千个)。

但是,这种组合似乎并没有真正起作用。如果项目的 trackId 更改但对象的引用保持不变,则不会重新渲染项目。

从 angularJS 文档:

自定义表达式:可以使用任何 AngularJS 表达式来计算跟踪 id,例如使用函数或使用集合项的属性。item.id 跟踪项目中的项目是当项目具有唯一标识符(例如数据库 ID)时的典型模式。在这种情况下,对象身份无关紧要。只要 id 属性相同,两个对象就被认为是等价的。通过唯一标识符进行跟踪是最高效的方式,应尽可能使用。

如果是这样,为什么修改trackId时item没有销毁并重新创建?

例如:

在这个演示中,我希望当 trackId 更改时对象会被销毁,并且应该使用新的一次性绑定值重新渲染元素。

https://plnkr.co/edit/Lklq3ZNDUuggjgwmkoxj?p=preview

有人对解决此问题的方法有任何建议吗?出于性能原因,我们绝对不能删除一次性绑定。我还研究了 angular-bind-notifier 但这将需要更新重复中的每个绑定,因为它不能针对特定行。

谢谢

0 投票
1 回答
28 浏览

angularjs - 是否可以在 ng-if 中将一次与 Angualrjs 中的一种方式绑定混合在一起?

我正在使用最新的 AngluarJS版本,我想知道我是否可以在ng-if指令中的一个表达式中将一次与一种方式绑定结合起来,有些像这样:

上面的行抛出错误,不起作用

0 投票
1 回答
251 浏览

angular - 一次性绑定指令不适用于 Angular 4

我正在尝试实现一个指令来实现一次性绑定,所以当我使用这个指令时,我想使用一次性绑定

我做了这个例子;https://stackblitz.com/edit/angular-bhayzy

在我的 HTML 中,我有:

Labels 是一个具有消息功能的类:

启动应用程序时,我得到 6 个带有消息的控制台,3 个用于“hello”,还有 3 个用于“secondHello”,但在这个 HTML 元素中,我有 *oneTime。

调试 OneTimeDirective 似乎我从未输入过指令...

0 投票
1 回答
202 浏览

angularjs - 手动插入一次性绑定

如何手动插入一次性绑定?

这是我的用例。我有很多元素的列表。元素只是一组控件。我从 BE 获取元素的数据。然后我想利用 AngularJS 插值并设置控件的值。但是我想避免每次只更改一个控件时对所有元素进行插值。

因此,我使用一次性绑定来设置值,但是当我更改它们时,它们不会更新。

该示例中的预期结果是,一旦在控件中键入内容,相应的一次性绑定值就会更新。此外,一次性绑定应该保留在那里,因为在我的真实案例中会有很多控件,我不想在只与一个控件交互时影响性能。可以在这里找到我的一个简化示例(在我的真实案例中,我不仅有输入,还有复选框,但我相信方法对它们应该是相同的)。

经过研究,我发现在这种情况下应该使用指令。但是我找不到一个简单易懂的例子。那么,有人可以在这里发布吗?

这里也欢迎不同于指令的解决方案。

0 投票
1 回答
48 浏览

angularjs - 一次绑定调用无限多次。为什么?

一次绑定在 AngularJS 中不起作用。为什么?

这是一段代码:

这是hideRelations功能:

运行 html 后,我看到它hideRelations被无限调用了很多次。为什么?我在这里可能缺少什么?

0 投票
1 回答
479 浏览

reactjs - 我想知道这是否真的是使用 onAuthStateChanged 的​​正确方法

按照这个react-firestore-tutorialGitHub 代码。我想知道以下是否是正确的使用方法,onAuthStateChanged或者我是否理解了这个不正确的方法,如果这是正确的方法,我只是感到困惑。

CodeSandBox使用 apikey 与 Firebase 的测试帐户完全连接!!所以你可以试试我的意思,我可以学习这个。

(注意:Firebase 会阻止 Codesandbox url,即使它位于授权域中,对此感到抱歉,但您仍然可以看到代码)

t {code: "auth/too-many-requests", message: "由于异常活动,我们已阻止来自此设备的所有请求。稍后再试。", a: null}a:

请注意,这是一个仅使用的 Reactjs-Vanilla 完全成熟的高级网站;
反应 16.6
反应路由器 5
Firebase 7

在代码中,Firebase.js有 thisonAuthStateChanged及其从两个不同的组件调用,也有多次调用,据我所知,一个应该只设置一次,然后监听它的回调。多次调用它不会创建很多听众吗?

有人可以看看这段代码在 Reactjs 中处理是否正常onAuthStateChanged?(src\components\Firebase\firebase.js)

这两个矩形高阶组件:

首先withAuthentication:(src\components\Session\withAuthentication.js)

并且withAuthorization:(src\components\Session\withAuthorization.js)