2016-08-08 74 views
0

我用來讓TextField使用getViewById()來將native android filters應用於它。如何在不違反MVVM架構規則的情況下從ViewModel執行此操作?來自ViewModel的Nativescript getViewById

+0

什麼是原生的Android過濾器?谷歌無法告訴我這一點。 – WoIIe

+0

我不明白這一點,對不起......這意味着:https://developer.android.com/reference/android/text/InputFilter.LengthFilter.html – Terhoraj

+0

這就是我開始的地方。這工作https://github.com/NativeScript/NativeScript/issues/1338 我需要這種相同的行爲,但從viewModel – Terhoraj

回答

1

如果不破壞MVVM模式,則無法從ViewModel訪問TextField。

無論如何,我建議你從ViewModel中調用getViewById()來設置原生的android過濾器功能,因爲MVVM implementation of NativeScript沒有被指定解決這個問題。你不必擔心這是不好的做法。

+0

任何示例代碼如何從ViewModel獲取視圖,因爲我只碰到崩潰。 – Terhoraj

+0

是否有任何崩潰異常消息?你可以提供他們嗎? – WoIIe

+0

我想出了該怎麼做。在navigatedTo(args)我得到了var page = args.object;然後我得到var myTextField = page.getViewById(「myTextField」);我通過調用viewModel.someFunction(myTextField)將此引用傳遞給了我的viewModel;然後從viewModel我可以使用這個myTextField引用,並做我所需要的,在這種情況下設置anroid.setFilters ... – Terhoraj

相關問題