Javascript 创建元素时运行函数
我有一些由v-for创建的元素。如何将“for every element creation”作为一个条件,只运行函数一次Javascript 创建元素时运行函数,javascript,vue.js,Javascript,Vue.js,我有一些由v-for创建的元素。如何将“for every element creation”作为一个条件,只运行函数一次 <div v-for"value in values"> <div @ function(value, domElement) if value.bool===true @> </div> 不太清楚您到底想要什么: 所以,这里是所有可能的解决方案,你想实施 可以使用修改器绑定该方法: <div
<div v-for"value in values">
<div @ function(value, domElement) if value.bool===true @>
</div>
不太清楚您到底想要什么:
所以,这里是所有可能的解决方案,你想实施
可以使用修改器绑定该方法:
<div @click.once="yourMethod">
但是,如果您只需要在创建该函数时使用该函数,则在created属性内调用该函数,而不将该方法绑定到其他任何地方
created() {
if(condition) {
this.yourMethod()
}
}
你到底想要什么还不太清楚:
所以,这里是所有可能的解决方案,你想实施
可以使用修改器绑定该方法:
<div @click.once="yourMethod">
但是,如果您只需要在创建该函数时使用该函数,则在created属性内调用该函数,而不将该方法绑定到其他任何地方
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>
{{propValue.value}
导出默认值{
道具:['propFunction','propValue'],
创建(){
如果(this.propValue.bool==true){
this.propFunction()
}
}
}
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>
{{propValue.value}
导出默认值{
道具:['propFunction','propValue'],
创建(){
如果(this.propValue.bool==true){
this.propFunction()
}
}
}
这很不寻常。你可能还想要别的东西。为什么要执行函数?这很不寻常。你可能还想要别的东西。为什么要执行一个函数?这也是我的建议,尽管我觉得OP的用例在一开始是可以避免的。如果它是关于组件的,我也会推荐。但OP似乎是在元素中实现的。这也是我的建议,尽管我觉得OP的用例在一开始可能是可以避免的。如果它是关于组件的,我也会推荐。但OP似乎在元素上做到了这一点。