【发布时间】:2019-09-16 06:53:11
【问题描述】:
我有以下混合:
Vue.mixin({
computed: {
$_styles() {
return { backgroundColor: "red" }
}
}
})
然后,我有以下功能组件:
<template functional>
<!-- $_styles doesn't work -->
<div style="height: 100px; width: 100px;" :style="$_styles">
</div>
</template>
我如何实际访问全局变量,在这种情况下它是$_styles,在函数组件内部?
【问题讨论】:
-
它不是一个全局变量。如果您搜索 "vue functional component access mixin computed",您可能会更幸运地找到答案
-
我不知道为什么你会期望函数组件能够访问给定的计算属性..."they’re stateless (no reactive data) and instanceless (no
thiscontext)" -
@Phil 我指的是 mixins/Vue.prototype 中的“全局”。例如,如果我做
Vue.prototype.$_styles = {backgroundColor: 'red'},那么我应该如何访问$_styles。很抱歉没有澄清。 -
在功能组件中,我可以访问
context对象。是否有可能以某种方式改变这个上下文对象,以便我可以做context.$_styles = {...}。所以我的意思是全球性的。 -
当然,它可以通过
context.data.style获得,但在这种情况下你不能使用基于模板的功能组件
标签: javascript vue.js mixins