其中一个较小的项目需要功能性changes...so,我决定也更新Gjallarhorn.Bindable.Wpf库的版本。
实际上,我只是在需要的地方添加了一个额外的参数。
但是现在应用程序不能正常工作,因为可通过命令调用的函数会被调用两次。
最起码的例子如下:
type Message = |Number of int
let rand = Random()
let mbindings _ source _ =
let getNumber() =
let number = rand.Next()
printfn "RAND = %A" number //print a number twice
number |> Some
[
Bind.Explicit.createCommand "NewNumber" source
|> Observable.map (fun _ -> getNumber())
|> Observable.toMessage Number
]
let mcomponent : IComponent<int, obj, Message> =
Component.fromExplicit mbindings
let app nav =
let model = 42
let update message _ =
match message with
|Number number -> number
Framework.application model update mcomponent nav..。
let nav = Navigation.singleView Application MainWin
let app = app nav.Navigate
Framework.RunApplication (nav, app)是图书馆的一个bug还是我错过了什么?
发布于 2017-12-28 22:06:57
这是臭虫。它在Gjallarhorn.Bindable Beta 6中得到了修正。
问题是,该框架两次采用了约束力中可观察到的框架。这通常是很好的,但在您的情况下,可观察的有一个副作用,这是多次运行。我重新设计了如何在框架中处理这个问题,以防止多个订阅,因此,如果升级到最新版本,它不应该再触发两次。
https://stackoverflow.com/questions/47997138
复制相似问题