不同视图模型之间的绑定属性

凯夫孔

有没有办法使用kendo mvvm将不同视图模型的两个属性相互绑定,还是我必须自己编写change事件的代码?

UserViewModel = {
    init: function(e) {
    },
    show: function(e) {
    },
    model: {
       isLoggedIn: kendo.observable(false)
    }
}

OtherContextViewModel = {
    init: function(e) {
    },
    show: function(e) {
    },
    model: {
       UserIsLoggedIn: //bind to isLoggedIn of the UserViewModel
    }
}

我尝试这样做的原因:我想OtherContext根据用户是否登录来隐藏和显示几件事在讨论用户组和特权时,可以采取进一步的措施。如果这不是正确的方法和/或不好的做法,谁能给我一个例子或其他方法?

机械

嗨,我认为调解器模式可能就是您要寻找的,它是在视图模型之间发送消息而无需直接引用它们的理想选择。CodeProject的教程显示了如何实现调解器模式。

http://www.codeproject.com/Articles/35277/MVVM-Mediator-Pattern

假设我们有2个ViewModel:1. LoginViewModel 2. MainViewModel

我们将MainViewModel注册到调解器消息UserLoggedIn

Mediator.Instance.Register(
   (Object o) =>
   {
     UpdateView(o as loggedInBoolean);
   }, Mediator.ViewModelMessages.UserLoggedIn);

当用户通过LoginViewModel登录时,我们会向中介者消息UserLoggedIn发送一条消息。

public void LoggingIn()
{     
Mediator.Instance.Notify(Mediator.ViewModelMessages.UserLoggedIn, null);
}

发送此消息将触发UpdateView(loggedInBoolean)方法,您可以使用该方法更改MainViewModel中的任何属性等。

摘要:介体在viewModel之间传递消息。您想要更改属性,启动函数等的viewModel注册到消息中。然后,另一个viewModel可以将消息发送到已注册到该特定消息的所有类。

希望能有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

调用事件列表器注册的事件并更改视图模型的属性时,zul视图中的属性绑定不会发生

绑定到模型或视图模型

从视图模型绑定到ListView项目的点击属性

将多个Caliburn.Micro视图模型绑定到同一视图的不同实例

在视图模型和视图之间使用MVVM进行WPF数据上下文绑定

行为-视图模型绑定

WPF MVVM在视图模型之间传递数据但属性未更新

WPF控件(绑定到视图模型上的列表的属性)想要在Xaml中定义列表

如何将视图的BackgroundColor属性绑定到Xamarin Forms中的视图模型?

Xamarin表单中的视图到不同视图模型的绑定

无法正确绑定视图模型

如何更新Canvas附加属性还可以更新绑定视图模型属性?

一个视图在不同时间绑定到不同的数据模型(AngularJS)

在jQueryMobile动态加载的不同页面上绑定Knockoutjs视图模型

如何将DateTime属性绑定到我的视图模型?

从视图设置模型属性

重用HTML但绑定不同的模型

无法模型绑定视图模型中的集合

Universal Apps:如何将ListViewItem(容器)的属性绑定到实际项目(视图模型)?

通过notifychanged或command属性在父视图模型和子视图模型之间进行通信?

UWP:绑定到视图模型属性

允许视图在 MVP 中使用 Presenter 的模型属性进行数据绑定

从 UI 绑定到视图模型属性需要从 TextBox 中移除焦点

使用不同的属性名称绑定到 POCO 模型

WPF 绑定视图模型

.NET Core 视图属性名称与模型属性名称不同

wpf 向上绑定:绑定到嵌套 uiElement 内的视图模型属性

具有不同视图模型的同一视图上的 Xamarin 多重绑定上下文

将视图模型的属性绑定到依赖属性