If you still need to write zscript codes, you can specify the deferred attribute to defer the evaluation of zscript codes as follows.
<zscript deferred="true"> ...
By specifying the deferred attribute, the zscript codes it contains will not be evaluated when ZK renders a pags. It means the interpreter won't be loaded when ZK renders a page. It saves memory and speeds up the page rendering.
In the following example, the interpreter is loaded only when the button is clicked:
<window id="w"> <zscript deferred="true"> void addMore() { new Label("More").setParent(w); } </zscript> <button label="Add" onClick="addMore()"/> </window>