小编Che*_*hen的帖子

如何组织Lua模块路径并编写"require"调用而不失灵活性?

假设我有一个项目,其文件夹结构如下所示:

| 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"

但是,如果我这样做,每次更改文件夹结构时都必须修改这些文件.

所以我的问题是:

  1. 如何在模块文件中没有硬代码路径的情况下修复模块路径问题?
  2. 为什么Lua不使用Node.js的模块搜索规则,这看起来更容易?

lua module

8
推荐指数
1
解决办法
1万
查看次数

如何在WPF应用程序中将参数传递给ViewModel的构造函数?

我看到人们建议使用Messenger/EventAggregator在"当前"目标更改时将参数传递给ViewModel,但它对我的情况不起作用.

假设我有一个像这样的ViewModel类:

class CustomerViewModel
{
    CustomerViewModel(int customerId) {}
}
Run Code Online (Sandbox Code Playgroud)

和:

  1. 我同时在应用程序shell中有相同类型的视图.
  2. 对于每个视图,都有一个唯一的CustomerViewModel实例.每个CustomerViewModel实例可以具有不同的customerId.(类似于Visual Studio IDE,同时打开多个文档)

我不想在我的View类中编写类似"this.DataContext = new CustomerViewModel(id)"的代码.什么是MVVM处理这种情况的方式?

谢谢.

c# wpf prism mvvm

7
推荐指数
1
解决办法
7992
查看次数

标签 统计

c# ×1

lua ×1

module ×1

mvvm ×1

prism ×1

wpf ×1