Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 绑定类只出现一次_Javascript_Css_Vue.js - Fatal编程技术网

Javascript 绑定类只出现一次

Javascript 绑定类只出现一次,javascript,css,vue.js,Javascript,Css,Vue.js,我如何使用vuejs创建一个只更新一次的动态类,比如- <div v-bind:class:once="{'class1': class1}"> 我想这样会让我表现得更好,对吗 我在小提琴上试过下面的代码,但不起作用(应该是红色背景) 我怎么能为这个班做这样一次绑定呢 我需要在Vue 1.x版本中使用它,您可以使用手表和计算方法。我所做的是观察复选框的更改,一旦有更改,将数据值changedOnce设置为true。如果复选框在computed class1方法下再次更改,它将

我如何使用vuejs创建一个只更新一次的动态类,比如-

<div v-bind:class:once="{'class1': class1}">

我想这样会让我表现得更好,对吗

我在小提琴上试过下面的代码,但不起作用(应该是红色背景)

我怎么能为这个班做这样一次绑定呢


我需要在Vue 1.x版本中使用它,您可以使用手表和计算方法。我所做的是观察复选框的更改,一旦有更改,将数据值
changedOnce
设置为true。如果复选框在computed class1方法下再次更改,它将忽略更改

模板:

 <div id="app">
      <label for="r1">Change colors</label><input type="checkbox" v-model="checkbox" id="r1">
      <br><br>
      <div v-bind:class="{'class1': class1}">
        directiva v-bind:class
      </div>
    </div>
新JFiddle示例

vue1中是否有
组件:已创建的
组件:已安装的
?这应该只发生一次,您可以在那里设置类-在vue2中,关于事件有一次
,关于渲染有一次
。我也不认为这是一个性能问题。
    new Vue({
    el: '#app',
    data: {
        checkbox: false,
        changedOnce: false
    },
    watch: {
        class1: function() {
            this.changedOnce = true
        },
    },
    computed: {
        class1: function() {
            if (this.changedOnce) {
                return true
            } else {
                if (this.checkbox) {
                    return true
                }
                return false
            }
        }
    }
});