Vuejs2 将v-if逻辑移动到模型
初学者提示…我正在尝试理解如何将我的一些逻辑从视图/HTML移动到Vue实例中。假设我的HTML中有以下代码。我如何将其移动到我的计算属性中 示例HTML:Vuejs2 将v-if逻辑移动到模型,vuejs2,Vuejs2,初学者提示…我正在尝试理解如何将我的一些逻辑从视图/HTML移动到Vue实例中。假设我的HTML中有以下代码。我如何将其移动到我的计算属性中 示例HTML: 由于我在应用程序中大量使用了v-if指令,因此我很想看看将其移动到computed属性会有什么好处。谢谢。您只需在计算属性中返回经过计算的表达式,即: var app = new Vue({ el: '#app', data: { selectedOffice: '', selectedPro
由于我在应用程序中大量使用了
v-if
指令,因此我很想看看将其移动到computed属性会有什么好处。谢谢。您只需在计算属性中返回经过计算的表达式,即:
var app = new Vue({
el: '#app',
data: {
selectedOffice: '',
selectedProducts: []
}
computed: {
isSelected: function() {
return !this.selectedOffice.inJira && this.selectedProducts === 'Movies';
}
}
});
在模板中,您可以使用以下内容:
<section v-if="isSelected">
但是,您的逻辑可能存在几个问题,因为:
此.selectedOffice
是一个字符串而不是对象,因此尝试访问.inJira
可能会有问题。您应该使用declareselectedOffice
作为空对象this.selectedProducts
是一个数组,但您正试图将其作为计算属性中的字符串进行求值是的Terry是对的:selectedOffice:{},selectedProducts:'
var app = new Vue({
el: '#app',
data: {
selectedOffice: '',
selectedProducts: []
}
computed: {
isSelected: function() {
return !this.selectedOffice.inJira && this.selectedProducts === 'Movies';
}
}
});
<section v-if="isSelected">