![]() |
1
1
所以,我不完全回答你的问题,但这里是我的超简单的手工制作的模板系统。它支持您正在尝试做的事情,尽管接口是不同的。
|
![]() |
2
0
好吧,您创建了一个新的类实例,所以在嵌入的模板中没有定义变量。您应该尝试复制对象,而不是创建新对象。 编辑:我说的是工厂方法 |
![]() |
3
0
主要的问题是你的观点彼此之间没有直接的了解。通过调用:
在您的“父”视图中,您创建并输出一个不知道它在另一个模板中的事实的模板。 这里我可以推荐两种方法。 #1-关联模板。
通过使嵌入的模板成为父模板的“子模板”,可以允许它们访问父模板的变量
AT
这个方法可能需要对您进行大量的重构,所以我将不考虑脏的细节,继续第二种方法。 #2-传递父变量 考虑到目前为止所采用的方法,这可能是最容易实现的方法。向输出方法中添加一个可选参数,然后稍微重写它,如下所示:
如果还添加了一个简单的getter方法:
然后,您可以使用对父级变量的有效读取权限嵌入文件:
|
![]() |
4
0
您可以使您的$撘vars属性保持静态,不是特别优雅,但可以实现您正在尝试实现的目标。 旁注…set()函数中的数组_merge()是错误的,请交换两个变量。 |
![]() |
TCD · 标准库非类型模板类是否显式实例化? 2 年前 |
![]() |
sovesti · 参数较少的模板函数中的演绎 2 年前 |
![]() |
KiraHoneybee · 具有构造函数参数的模板化类 2 年前 |
![]() |
Seymore Glass · 模板不工作的默认参数 2 年前 |
![]() |
Alexander Daum · 模板参数中对模板类型的引用 6 年前 |
![]() |
ledonter · 为什么注入的类名有时不被视为类模板中的模板名? 6 年前 |