假设我有一个项目,其文件夹结构如下所示:
| main.lua
|
|---<model> // this is a folder
| |a.lua
| |b.lua
|
|---<view>
|a.lua
|b.lua
Run Code Online (Sandbox Code Playgroud)
模型/ a.lua requries 型号/ b.lua:require "b"
视图/ a.lua requries 视图/ b.lua:require "b"
main.lua需要模型和视图中的文件.
现在我有问题让这些模块正确加载.我知道我可以通过将require调用更改为:
model/a.lua:require "model.b"
view/a.lua:require "view.b"
但是,如果我这样做,每次更改文件夹结构时都必须修改这些文件.
所以我的问题是:
我看到人们建议使用Messenger/EventAggregator在"当前"目标更改时将参数传递给ViewModel,但它对我的情况不起作用.
假设我有一个像这样的ViewModel类:
class CustomerViewModel
{
CustomerViewModel(int customerId) {}
}
Run Code Online (Sandbox Code Playgroud)
和:
我不想在我的View类中编写类似"this.DataContext = new CustomerViewModel(id)"的代码.什么是MVVM处理这种情况的方式?
谢谢.