Enumerate all input fields of a template before a template data-binding initialization finalized

Hi, guys,
are there chances to call a callback during data-binding initialization finalized, what I want to do is assign default values for every input components dynamically via its name, my model is an object, e.g. new MyField(tagName), beside values, MyField also contains additional information like enable/max-length/min-length, etc., just avoid hard-coding in scripts, instead prepare model according to field names used in a vue-js template, so that my javascript will be generic, all scripts used by vue files are same, validation logics / on change event handlers are all implemented via annotations attached to HTML elements (e.g. attach <code> to html tags, event attached annotation via html comments), I also want to auto translate existing legacy UI files to vue files, attaching <code> will be automatical.

I tried mounted(), it is not at correct moment, NullPointerException because mounted() runs after data-binding initialization, and also tried beforeMount(), this.$refs is empty, cannot enumerate field names, before DOM mounted, how to list all fields in it?

created/mounted should work.
you could set these values by setting the props of these components.

I don’t know how to enumerate all fields, instead, I created my own UI component to wrap corresponding components (e.g. bootstrap-vue b-form-input, b-form-select, etc.) to initialize default values, the page-level vue instance is given a root model, field-level model will be a field of the page / root model, in computed property, my script will check if field-level model exists in page model or not, and create it if expected model is missing. now my own UI component can initialize itself with given name & additional $attrs values. this is only one minor problem, the computed property is not always refreshed after data is filled in to variables used by the computed property, Google told me a hack-call to trigger re-compute.