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

ember.js - Ember 控制器可以绑定到它自己的属性的更改事件吗?

给定一个控制器,如:

这似乎不起作用,所以我一定不明白观察者是如何工作的。我认为它应该在 controller.authenticated 上创建一个观察者。但是,当我打电话时,@set("authenticated", true)什么都没有记录。

更新:我确实尝试更换controller.authenticated无济于事App.signInController.authenticated

我错过了什么?

0 投票
1 回答
138 浏览

c# - 在 UserControl 中使用属性

我制作了一个用户控件并添加了一个新属性,如下所示:

我的问题是:在我的自定义控件的 XAML 中,我该如何使用它?

0 投票
0 回答
592 浏览

wpf - 如何获取绑定到 WPF 控件的属性和对象

无论绑定是如何定义的,我都想始终如一地解析控件绑定到的对象实例和属性。

我做了以下事情:

上面的方法在大多数情况下都有效,但有时它并没有给我想要的东西——我理解为什么它没有,但我找不到找到我想要的东西的方法。

例如,以下内容打破了我所拥有的东西,因为它返回DataContext.CurrentMileage了这不是我想要的。我只想要CurrentMileage

0 投票
2 回答
303 浏览

c++ - 属性绑定的错误结果,插入时对象位置中断

我创建了一个对象树,树是使用非常简单的逻辑绘制的:

  • 每个对象都与它自己的表示加上它的孩子(以及他们的孩子等等......)的表示一样大
  • 如果对象是其父对象的第一个子对象,则在其视觉表示下缩进绘制
  • 每个下一个对象都直接绘制在它的前一个兄弟之下

但是,在某些情况下插入新对象时,这种简单的算法会失败。例如:

在此处输入图像描述

在这种情况下,节点 1 和 2 成功插入到节点 0 中,节点 0 的全高(每个节点左侧的黑线)是它自己的 UI 加上它的两个子节点的总和。

但是当节点 3 插入节点 1 时,布局中断 - 节点 2 没有被下推,结果它与新插入的节点重叠,使其黑线不可见。

当触发额外的刷新周期时,树会恢复正常,因此故障一定是由一些临时的“或同步”属性引起的。请注意,一次额外的刷新并不总是使树按顺序排列,这取决于插入的位置,有时该错误可能需要几个刷新周期才能“级联”掉干扰对齐。

有什么想法可能导致这种不稳定的行为和/或如何解决它?是什么导致代码偶尔中断,为什么即使它最终可以工作,它也需要一到多次刷新才能使自己井井有条?

编辑:我已经能够隔离并查明对齐何时中断 - 当插入到未结束其级别上的最后一个节点的节点时。只要每个新节点都插入到最后一个并且“打开”的节点中,所有绑定都会正确传播,例如在该级别上没有下一个节点,但是插入任何先前的节点都会破坏绑定。因此,需要额外的刷新周期来逐步消除它影响的所有级别的错误。但我仍然不知道是什么原因导致它以及如何修复它,只有当它发生时。

编辑:再调查一下,似乎在将新子项插入父项并根据其顺序重新对齐其子项后,父项的childrenRect属性不会立即反映大小的变化。因此,当插入对象的下一个兄弟对象被定位时,它仍然使用旧的过时值作为对象高度,这不会影响新插入的对象,因为它不使用它。所以我想下一个大问题是如何修复它,以便绑定发生,以便算法可以按预期使用正确的数据?我尝试使用计时器来延迟操作,但它似乎不是时间问题,而是关于逻辑顺序的问题,例如,它当前需要的刷新计数以消除等于它发生的部门的错误。

编辑:我想出了如何“解决它”但是......不是真的,我仍然不知道是什么原因导致它以及如何避免它,但是比更新整个树直到它被修复更“经济”的解决方案去父母那里,只更新当前分支,直到到达根目录。这确实节省了很多,但我仍然希望立即拥有正确的值,因为绑定应该可以工作,至少 IMO 是这样。

编辑:这是订购代码:

以及如何设置 QML 的示例:

0 投票
1 回答
1920 浏览

scope - QML 范围:子对象中的属性绑定失败

我是 QML 的新手,在学习按钮教程时遇到了范围问题。我解决了它,但我不明白为什么代码一开始就不起作用:

问题

以下代码在按钮悬停时给出运行时引用错误:

main_broken.qml

错误:

解决方案

只需将属性绑定和信号槽移动到应用程序窗口对象中即可解决,如下所示:

main_fixed.qml

问题

为什么不能将属性绑定留在 ApplicationWindow 对象的 Rectangle 子对象中?

如果您想要仅具有矩形独有的属性(例如颜色),但使用了 ApplicationWindow 的某些属性(例如文本大小),该怎么办?


我是编码和堆栈溢出的新手(这是我的第一篇文章)。我试图以最清晰的方式提出我的问题,但是如果它不符合堆栈溢出的标准以及我必须做些什么来改变它,请告诉我。

0 投票
1 回答
1594 浏览

c# - 将一个控件的属性绑定到同一窗体上另一个控件的属性值

我正在使用 C# 4.5 - Winform。我的问题是针对 C# WinForm 的。

我想将一个控件的属性绑定到同一窗体上另一个控件的属性值。

我有一个 GroupBox 和一个复选框。选中复选框时,应启用组框,当未选中复选框时,应禁用组框。但是,此任务可以通过实施复选框“CheckedChanged”事件来完成。但我想在不编写任何代码的情况下完成此操作。我不知道这可能与否。如果可能,请提供解决方案。 在此处输入图像描述

0 投票
1 回答
906 浏览

javascript - Birt 中的属性绑定或查询中的 Javascript

我可以在 BIRT 报告数据集的属性绑定查询文本字段中包含 javascript 吗?我要这样做的原因是根据用户传递的报告参数选择查询。

0 投票
1 回答
79 浏览

binding - 如何使这个 JavaFX 绑定更智能?

我有 3 个 ToggleButtons 和一个包含 3 个单元格的 GridPane。

案例 1: 只选择了 1 个 ToggleButton,对应的 GridPane 单元格预计会填满整个窗格。

情况 2: 选择了 2 个 ToggleButtons,相应的 2 个 GridPane 单元格预计将均匀地填充整个窗格。(当然选择3个toggleButtons时,相同的逻辑。)

目前,我已经通过以下实现实现了我的目标,但我想学习的是让它更智能。用这个词smarter,我的意思是实现一些更短的东西,将 ToggleButton 状态转换为双精度值(取消选择 => 0 ,选择=> 100)。我不想通过重复 if 子句来实现这些,但我正在尝试实现可以​​在.bind()方法调用之前附加的东西。

一个 ToggleButton 的当前实现如下:

0 投票
1 回答
417 浏览

odata - URL parameter as property binding

Is it possible to use a URL parameter as a property binding in UI5?

My problem is that I want to have different OData collections placed in the same UI5 aggregation. For example let's say I've "/Car("Mustang")/parts" and "/Car("Whatever")/parts". Both of them can be placed in the same view.

The application's URL contains the keyword like http://something/#/carMustang. This URL is coming from a routing pattern like "car{carHandle}".

How am I supposed to do stuff like this:

So what would be the best practice to do this? I would like to avoid nasty fiddles in the controller.

0 投票
1 回答
719 浏览

java - JavaFX 8 MapProperty unbind 不起作用?

如果这是一个错误,或者我在 JavaFX MapProperty 绑定中遗漏了什么,谁能解释我?

场景:两个 MapProperty 实例 - 主实例和子实例。

  1. 首先把孩子绑定到主人
  2. 然后我们在master中存储一些值
  3. 将孩子与主人解除绑定
  4. 清除孩子
  5. 两个实例都是空的 - 为什么?
  6. 在孩子中存储一些值
  7. 两个实例都包含相同的值 - 为什么?

代码:

输出: