1
使用MVVM模式,我将View绑定到的方法和属性设置为public。MVVM模式 - 仅适用于View的公共方法和属性
感觉这些应该只是公开的观点,而不是其他地方。几乎像一个受保护的概念。而且,你需要一些其他类可以使用的公共方法,所以它会变得混乱。
我正在写TypeScript,所以我真的可以访问任何方法/属性,但我用C#语言,我猜你会不得不公开视图的viewodel属性,真正有这个问题。
视图模型:
class viewModel {
private mode = "Editable";
// this is only meant for the view. but it's public so it could be tampered with.
public items = ko.observableArray();
// this is meant to be used by other code.
public setMode(mode) {
this.mode = mode;
}
private _datasvc = new someDataService();
constructor() {
this.items = this._datsvc.getItems();
}
}
我是不是不理解或正确使用MVVM?
真的,真的不要浪费你在这种情况下隐藏数据的时间。你没有从中获得任何好处。 – Will