问题标签 [reactive-property]

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 投票
3 回答
714 浏览

c# - 如何从“传统”过渡到反应式 MVVM

我想过渡到反应式视图模型/模型。

到目前为止,我已经使用了 3 个场景:

  • “ValueA”:一次只能从一个视图模型访问模型值,并且只能通过视图模型更改值

    => 模型中的简单属性,PropertyChanged视图模型中的转发属性

  • “ValueB”:模型值从多个视图模型和/或其他来源的更改中访问

    => 模型中带有事件的属性,转发属性和从更改的事件到PropertyChanged视图模型中的转换

  • “ValueC”:仅在视图模型中使用的值

    => 模型中没有属性,属性由PropertyChanged视图模型中的自己的字段支持

这是我的“当前”方法:

这就是我打算使用响应式扩展对它们进行建模的方式:

概括:

  • “ValueA”:我对这个案子一无所知
  • “ValueB”:乍一看有效,但既不会将更改从视图模型传播到模型,也不会以其他方式传播。
  • “ValueC”:按预期工作

如果我有 ValueA 和 ValueB 的解决方案,我会很高兴。

0 投票
0 回答
425 浏览

uwp - 无法使用 ReactiveUI

我已经开发了一个 UWP 并且想使用 ReactiveUI,但是当我安装 7.4.0 Nuget 包时它引入了不兼容。我以通用 Windows 周年纪念版为目标,并在构建时获得以下信息:

错误 CS0433 类型“Unit”同时存在于“System.Reactive.Core, Version=2.2.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”和“System.Reactive.Core, Version=3.0.4000.0, Culture=neutral, PublicKeyToken =94bc3704cddfc263'

各种类型的*一次性用品都会出现相同的消息。2.2.5.0 版本在 .nuget\packages\Rx-Core\2.2.5\lib\windows8\System.Reactive.Core.dll 和 3.0.4000.0 版本在 .nuget\packages\System.Reactive.Core\ 3.1.1\lib\uap10.0\System.Reactive.Core.dll。

当我卸载 ReactiveUI 时,大多数依赖项都有 2.2.5 后缀。我还安装了 ReactiveProperty 3.6.0,这似乎是不兼容的根源。我卸载了 ReactiveProperty 并保留了 ReactiveUI,但在引用 ReactiveProperty 时出现错误。

有没有可以同时使用 ReactiveUI 和 ReactiveProperty 的版本或版本组合?具体来说,仅使用 ReactiveProperty 我无法使用 WhenAny 创建一个 observable,如下所示:

...如此处所述:http: //jen20.com/blog/2013/05/30/reactive-ui-part-3-commands/

希望有一种方法可以让我使用 ReactiveUI,并且存在一些明显的错误和愚蠢的错误……有人吗?非常感谢你的想法。。

0 投票
1 回答
1018 浏览

c# - ReactiveProperty 初始值

我正在尝试将初始值设置为public ReactiveProperty<string> ConnectionStatus.

即使我试图像这样实例化它

在可观察对象返回某些内容之前,它仍然是空的。

有任何想法吗?我正在使用这个

0 投票
1 回答
67 浏览

c# - Zip 的行为不符合预期

在我的最新项目中,我决定测试响应式编程世界提供的一些功能。由于它是一个 C# 项目,我已经开始使用 System.Reactive 和 ReactiveProperty nuget 包。在我的项目中,我尝试通过以下代码组合绑定到 WPF 文本框控件的 2 个属性:

绑定到 RxTest 的文本框获取“演示测试”的初始值 - 但是当我编辑绑定到 InputFieldFirst 或 InputFieldSecond 的文本框的内容时,不会触发更新。

当我按如下更改代码时,对 InputFieldFirst 的所有更新都是可见的,并在 RxTest 中按预期延迟。

任何提示如何设置 .Zip() 都会非常好。

更新完成

文本框的 XAML 代码

0 投票
1 回答
290 浏览

xamarin.forms - 如何在 ReactiveCommand 中实现 CanExecute

在我们的 Xamarin.Forms 应用程序中,我们使用 ReactiveProperty 框架 ( https://github.com/runceel/ReactiveProperty )。

请注意这里我们只使用 ReactiveProperty 而不是 ReactiveUI。

我有一个像下面这样的 SignInViewMode 类..

GoToNextCommand 绑定到视图中的 Button。我想实现 GoToNextCommand 的 CanExecute 功能(如果 UserName 或 PhoneNumber 属性中的任何一个为空,则禁用 GoToNextCommand),但我不知道如何在 ReactiveProperty 中实现这一点。

任何帮助表示赞赏。

0 投票
0 回答
102 浏览

c# - 使用 ReactiveCollection 级联组合框

我正在尝试使用 ReactiveProperty 和 ReactiveCollection 设置链接的组合框。我有这样的 ItemViewModel:

和父视图模型:

我有 ItemViewModel 的集合(Collection 属性),当 SelectedItem 从 Collection 属性更改为项目时,我需要从 SelectedItem 的 Range 集合中填充 SecondCollection

我怎样才能做到?

0 投票
1 回答
24 浏览

c# - 附加两个 ReactiveProperty 的更好方法

我在我的代码中使用 ReactiveProperty 库,有时我需要将两个ReactiveProperty<T>连接在一起以保持属性数据同步。例如,通过将ReactivePropertySlim服务类中的 a组合到ReactivePropertyViewModel 类中的 a 。

通常我使用下一个代码:

对于单个属性来说,查找并不是那么糟糕,但是当数字变高时,代码就会到达。

现在我使用一个简单的扩展方法来限制代码重复。

我以一个属性变量和一个 IDisposable 变量结束来管理取消订阅。

目前,该扩展正在做他的工作(我认为代码较少且清晰)。但是有没有更好的方法来解决这个问题。