问题标签 [bindable]

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

xamarin - Xamarin 表单设置插件可绑定

我一直是非常棒的 Xamarin 跨平台设置插件https://components.xamarin.com/view/SettingsPlugin(准确地说是 PCL 中的 Nuget 版本)

它运行良好,但现在使用 Xamarin 表单我真的希望能够绑定到设置值。即我想在内容页面上有一个标签,上面写着:“设置值是:[值]”并在设置更改时更新。

设置类如下所示:

}

我似乎无法弄清楚这项工作需要什么格式?可绑定属性。创建?它是否需要 OnPropertyChanged 方法?Settings 类是否必须从 BindableObject 派生?

0 投票
3 回答
917 浏览

actionscript-3 - Flex中的绑定:如何在另一个变量更改时使变量自动更新?

我知道可以使组件的参数依赖于变量,前提是该变量包含 [Bindable] 标记。这意味着更新 Bindable 变量的值会自动更新组件。

是否可以使另一个变量依赖于 Bindable 变量?

在下面的示例中,我有一个绑定的变量 btnClicked。当 btnClicked 被调用的函数 btnClick() 更改时,TextArea 中的文本将按预期更新。

我希望能够在更新 btnClicked 时更新另一个变量 btnText。我不知道如何传达这种依赖关系。在下面的代码中,btnText 的值最初是预期的“clickMe”。但是,当 btnClicked 更改时,按钮上的文本不会更新为“unclickMe”。

如何更改上面的代码,以便在更改 btnClicked 时自动更新 btnText?

是否有可能有一个任意长的连接变量链,每个变量都在前一个更新时更新?

0 投票
1 回答
659 浏览

unit-testing - 使用可绑定和依赖项测试 aurelia customElement

我使用 Aurelia 的 1.0.0-beta.1 并尝试编写一些单元测试。

我有一个这样的customElement:

我想用 Class1&Class2 的 Mocks 和工作的可绑定字段数据创建一个可测试的 MyElement 实例。

到目前为止,我发现的是,由于此处描述的 API 更改,带有 BehaviorInstance 的示例不再起作用。

从 aurelia-template查看测试后,我的方法现在看起来像这样:

它已经在从 DI 容器请求 bindingEngine 或在创建 MyElement-VieModel 时失败了

那么,我该如何做这件事呢?

- - - 编辑:

迈克尔马龙的答案非常完美。对于任何提出这个问题的人,这就是我的示例的工作方式:

0 投票
1 回答
98 浏览

android - 哪些 Android 应用程序组件可以绑定到服务?

我刚刚得到了例外

BroadcastReceiver 组件不允许绑定到服务。

我在网上一无所获,所以我想问是否有人可以提供一个实际上能够绑定到服务的组件列表,因为我目前只知道Activities.

比如,服务可以相互绑定吗?

0 投票
4 回答
68510 浏览

android - 使用“&&”逻辑运算符的android数据绑定

我正在尝试使用Android数据绑定在xml中使用and“&&”运算符,

android:visibility="@{(bean.currentSpaceId == bean.selectedSpaceId **&&** bean.currentSpaceId > 0)? View.VISIBLE: View.GONE}"

但我得到了编译错误:

错误:任务“:app:dataBindingProcessLayoutsDevDebug”执行失败。org.xml.sax.SAXParseException;systemId:文件:/Users/path/app/build/intermediates/res/merged/dev/debug/layout/fragment_space.xml;行号:106;列号:89;实体名称必须紧跟实体引用中的“&”。

android studio“未转义&或非终止字符”中的红色突出显示错误。

那么我应该如何解决这个问题?

编辑: 找到答案,这些字符需要转义:

0 投票
1 回答
516 浏览

xamarin.forms - Xamarin.Forms 可绑定选择器

我有 2 个选择器。在第一个选择器中更改任何值时,第二个选择器元素应该更改。我的问题是在selectIndexchanged()第一个选择器上,我正在清除第二个选择器列表picker2.items.clear()。但是,如果我在第二个选择器中选择一个值,然后在执行clear()时更改第一个选择器索引,则会显示异常:

System.ArgumentOutOfRangeException:索引超出范围。必须是非负数且小于集合的大小

0 投票
1 回答
527 浏览

inheritance - 如何在 Aurelia 中“继承”可绑定属性?

我正在使用 TypeScript 开发 Aurelia 应用程序。在这个应用程序中,我定义了一组自定义元素,每个元素共享一组可绑定属性,这些属性被转换为 css 设置,如下面的简化示例所示:

这个元素的 HTML 代码看起来像这样:

因此,我需要在整个自定义元素的 HTML 模板中多次计算计算属性的值。

现在其他元素也需要spanandwidth属性。正如我从阅读github 中了解到的:Aurelia 问题 #210尚不支持可绑定属性的继承。正如 Rob Eisenberg 所说,要走的路就是在这里使用合成。但是当使用它时,我仍然需要同时实现spanwidth属性,还需要通过依赖注入导入一个组件,该组件只是添加了实际计算左边距的功能。所以总而言之,这种方法仍然会导致大量的复制和粘贴代码。

有没有更好的方法来解决这个问题?

在 Twitter 上 @AureliaEffect 的提示后,我正在考虑为此使用自定义属性,但这仍然不会阻止我在元素上实现每个必需的属性,以便能够在元素的模板中绑定到它。

关于这背后的商业案例的简短解释(又名“我为什么选择这种方法”):我的应用程序的用户能够构建轨道布局,就像您在电子铁路联锁系统中找到的那样。这需要以某些通用单位而不是像素来指定元素的宽度或它们的偏移量。此外,需要为每个元素而不是每个元素类指定此属性。

(这里还有一个问题 StackOverflow 解决了一个有点相似的主题,但在我的场景中不起作用的方法是:在 Aurelia 的子类上使用 @bindable 属性

0 投票
2 回答
1090 浏览

c# - 行为 - 可绑定属性

我创建了一个用于验证电子邮件输入的行为。跟随网络上的许多例子。如您所见,我的行为有两个可绑定属性,一个是 IsValid,第二个是 ErrorMessage。

在文本更改时,应用程序运行正则表达式验证,并且没有任何问题将值 true/false 分配给 IsValid 属性。但是当它试图为 ErrorMessage 属性赋值时,它会触发异常:

BindableProperty“ErrorMessage”是只读的。

有谁知道为什么会这样?提前致谢!

0 投票
1 回答
1835 浏览

xaml - OnPropertyChanged 被调用两次以获取可绑定属性

在 Xamarin Forms 中,我创建了一个可绑定属性,如下所示:

这是我的构造函数:

有人可以解释为什么属性更改事件会触发两次吗?如果我在可绑定属性的定义中创建了一个更改的处理程序,那么该处理程序将被调用一次

我注意到这个问题只存在于代码隐藏中。如果我直接在 XAML 中设置属性,属性更改事件会触发一次

0 投票
1 回答
1028 浏览

c# - BindableProperty:类型不匹配

我想扩展 Xamarin.Forms Picker,以便可以将集合绑定到它。快速搜索后,我找到了这个页面:Picker Example有两个很好的例子。拒绝只是复制和粘贴代码(出于学习目的),我继续根据这两个示例制作自己的代码。

它几乎相同,除了我的不起作用。

当我不向 ItemsSource 提供集合时,一切正常。每当我分配一个集合时,我都会收到以下错误:

Xamarin.Forms.Xaml.XamlParseException:位置 9:32。无法分配属性“ItemsSource”:“Xamarin.Forms.Binding”和“System.Collections.IEnumerable”之间的类型不匹配

选择器:

ViewModel(部分):

XAML:

请注意,链接页面中的第一个示例选择器适用于提供的 VM/View 设置。

我还没有完成选择器,我仍然想为 SelectedItem 属性提供 TwoWay 绑定并支持 ObservableCollection。

你的,