Запускать функцию при создании элемента

У меня есть некоторые элементы, созданные v-for. Как я могу запустить функцию только один раз, сохранив условие «для каждого создания элемента».

<div v-for"value in values">
   <div @ function(value, domElement) if value.bool===true @>
              </div>

Это необычно. Вы, наверное, хотите чего-то еще. Почему вы хотите выполнить функцию?

acdcjunior 20.03.2018 16:49
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
96
2

Ответы 2

Не очень понятно, что именно вы хотите:

<div @ function(value, domElement) if value.bool===true @>

Итак, вот все возможные решения, которые вы хотите реализовать.

Вы можете привязать метод с помощью модификатора once:

<div @click.once = "yourMethod">

Или, если вы не хотите изменять содержимое, вы можете использовать v-once:

<div v-once>{{ neverChanged }}</div>

Но если вам просто нужно использовать функцию при ее создании, вызовите функцию внутри созданного свойства и не привязывайте метод в другом месте.

created() {
  if (condition) {
    this.yourMethod()
  }
}

Самый простой способ, IMO, - сделать каждый из этих элементов компонентом Vue и передать функцию как опору.

Файл один

<div v-for = "value in values">
   <Custom-Component :propValue = "value" :propFunction = "functionYouNeed" />
</div>

Пользовательский компонент

<template>
  <div> {{propValue.value}} </div>
</template>

<script>
 export default {
   props: ['propFunction', 'propValue'],
   created(){
      if (this.propValue.bool === true) { 
         this.propFunction()
      }
   }
 }
</script>

Это то, что я бы порекомендовал, хотя я чувствую, что варианта использования OP можно было бы в первую очередь избежать.

Brian Kung 20.03.2018 16:57

Я также рекомендовал бы, если бы речь шла о компоненте. Но OP, похоже, делает это элементами.

Bhojendra Rauniyar 20.03.2018 17:00

Другие вопросы по теме