Обратите внимание, что super
используется для наследования объекта ~ (т. Е. Когда вы расширяете объект base , например, для переопределения некоторых полей, см. https://jsonnet.org/learning/tutorial.html#oo).
Хитрость заключается в том, чтобы подключить локальную переменную, указывающую на self
объекта, на который вы хотите сослаться:
{
local property = "global variable",
property: "global property",
bar: self.property, // global property
baz: property, // global variable
// "Plug" a local variable pointing here
local this = self,
nested: {
local property = "local variable",
property: "local property",
bar: self.property, // local property
baz: property, // local variable
// Use variable set at container obj
glo1: this.property,
// In this particular case, can also use '$' to refer to the root obj
glo2: $.property,
}
}