Vue.js - 如何绑定到页面加载后生成的表单元素?

Vue.js - How to bind to form elements generated after page load?

我有表单元素在 html 文档中不可用,直到内联脚本在页面加载时运行。如何在页面加载后绑定到 Vue.js 中的这些表单元素?显然 jQuery 我可以做 $('.element').each(), 但 'Vue way' 是什么?我需要设置隐藏输入的 value 属性。

<form>
    <input type="hidden" name="AST_Goals__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
    <input type="hidden" name="Perception_of_AppSec_program__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
</form>

在这种情况下,您可能不需要访问 DOM...

基于 MktoForms2.loadForm() 回调中的 Marketo docs that show an example of setting a hidden field's value, you could use form.vals()

MktoForms2.loadForm('//app-ab00.marketo.com', '785-UHP-775', 1057, form => { 
  form.vals({
    AST_Goals__c: 'my goal',
    Perception_of_AppSec_program__c: 'my perception'
  })
})

我的答案是在 js 文件中调用 MktoForms2.loadForm() 函数,而不是在 html 文件中的 <script> 标记内调用。你不能在内联 <script> 标签中绑定 vue 元素。