Я пытаюсь объединить элементы полосы в приложении vue. Я успешно сделал это ранее. Но теперь я пытаюсь сделать это снова в цикле v-for.
Я убедился, что элемент stripe загружается только после рендеринга элемента Dom. Элемент Dom находится в цикле v-for. За пределами этого цикла он работает нормально. Но внутри цикла я получаю ошибку:
Ошибка: недопустимый элемент DOM. Обязательно вызовите mount () с допустимым элементом или селектором DOM.
Это странно. Когда я записываю элемент DOM перед монтажом Stripe Element. Вместо возврата элемента он возвращает массив, содержащий элемент. Если я пытаюсь получить доступ к этому массиву, я получаю ту же ошибку.
Если я регистрирую рабочую версию без v-for, я получаю элемент, а не массив. Есть идеи, что здесь происходит? Вот соответствующий код:
<div>
<div ref="card" class="card-input"></div>
<button v-on:click="purchase(i)">Purchase</button>
</div>
И JS
mounted () {
card = elements.create('card')
console.log(this.$refs.card)
card.mount(this.$refs.card)
}