计算Vue.js的运行使其不成为DOM的一部分

内森

我无法弄清楚如何使Vue.js始终评估计算结果,而不管我是否在页面中实际使用它。我要完成的工作的简化版本是有几个输入字段,当两个字段都更新时,我想影响另一个字段的值。我也希望该字段也可以手动编辑。jsfiddle示例。

的HTML:

<div id="app">
  <p v-if="updateUsername">Just here to get the darn thing to run</p>
  <div>
    yourName:<input v-model="yourName">
  </div>
  <div>
    dogsName:<input v-model="dogName">
  </div>  
  <div>
    username:<input v-model="userName">
  </div>
</div>

js:

var main = new Vue({
    el: '#app',
        data: {
            yourName: 'Adam',
        dogName: 'Barkster',
        userName: ''
    },
        methods: {
    },
    computed: {
        updateUsername: function(){
                this.userName = this.yourName + this.dogName;
        }
    }
});

这完全可以按照我的要求工作,但是需要BS在html中使用“ updateUsername”。我敢肯定有更好的方法。

初级

您可以添加watch

watch: { updateUsername() {} }

小提琴:https : //jsfiddle.net/acdcjunior/k6rknwqg/2/

但是似乎您想要的是两个观察者:

var main = new Vue({
    el: '#app',
    data: {
        yourName: 'Adam',
        dogName: 'Barkster',
        userName: ''
    },
    watch: {
        yourName: {
            handler() {
                this.userName = this.yourName + this.dogName;
            },
            immediate: true
        },
        dogName() {
            this.userName = this.yourName + this.dogName;
        }
    }
});

小提琴:https : //jsfiddle.net/acdcjunior/k6rknwqg/6/

另一个选项(同时监视两个或多个属性):

var main = new Vue({
    el: '#app',
    data: {
        yourName: 'Adam',
        dogName: 'Barkster',
        userName: ''
    },
    mounted() {
        this.$watch(vm => [vm.yourName, vm.dogName].join(), val => {
            this.userName = this.yourName + this.dogName;
        }, {immediate: true})
    }
});

小提琴:https : //jsfiddle.net/acdcjunior/k6rknwqg/11/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

计算字符串的一部分的字符

如何计算在Python中作为列表一部分的集合的出现次数?

作为Vue插件的一部分向Vuex存储添加变异

如果字符超出Vue.js中的限制,则仅显示名称的一部分

vue.js如何使用v-for仅迭代数组的一部分

Vue.js使用计算属性显示或隐藏组件的一部分

仅显示表vue.js的一部分

错误“剩余的文本似乎不成为公式的一部分” Crystal Reports 11.5.8.826

在Vue.js中返回组件的输出作为方法的HTML响应的一部分

构建我的Vue应用程序时防止JSON文件成为chunk.js / app.js的一部分

在MTLBuffer的一部分上运行计算内核?

是否可以仅导入vue组件的一部分?

将行的第一部分与固定字符串匹配,并在第二部分中计算唯一值

Vue:将软件包的一部分注册为组件

尽管调用不同,但vue组件的一部分永远不会改变

如何计算时间戳的一部分

Node.js,MongoDB-猫鼬-计算平均值作为GEO搜索的一部分

使用一部分Excel条目进行计算

如何仅投影计算机屏幕的一部分

标量函数作为计算列的一部分

计算数组的一部分的平均值

约束优化,其中约束被计算为目标函数的一部分

如何使用 C 中的宏计算表达式的一部分?

如何使用oprofile计算C程序一部分的执行时间?

计算 data.table 中一行的一部分中的 NA

计算属于时间跨度的班次的哪一部分

在 vue 计算属性中使用数组数据项长度作为字符串的一部分

使用 VUE - 即使只有一部分不同,HTML 是否也会更新?

JS/Vue:确认类是公共 API 的一部分?