vue.js - 如何将组件中的值绑定到 App.vue 中的元素?
问题描述
我想从每个页面组件中的属性或值将一个类绑定到 App.vue 中的一个元素。有点与传递道具相反?不完全是 chld -> 父母,绝对不是父母 -> 孩子。我正在尝试使用路由参数,但到目前为止,我只能通过刷新获得要绑定的值。是否有针对这种方法的修复或更好的 vue 方法来做到这一点?
应用程序.vue:
<template>
<div id="app">
<app-header />
<main> ... <!-- objective: <main :class="[ get a value from each component loaded into router-view ]"> -->
<router-view />
</main>
</div>
</template>
<script>
export default {
data () {
return {
name: 'App',
mainClass: "", // update this value per route component
}
},
created: function() {
// console.log("this.$routes.params.id", this.$route.params.id); // undefined
this.mainClass = this.$route.name.toLowerCase(); // √
}
}
</script>
画廊.vue:
<script>
import Gallery from '../../data/Gallery.json';
export default {
name: 'Gallery',
data () {
return {
h1: 'Gallery',
Gallery: Gallery,
objID: "",
mainClass: ""
}
},
created: function() {
var Gallery = require('../../data/Gallery.json');
for (let key in Gallery) {
Gallery[key].id = key;
!this.objID ? this.objID = key : ""
}
}, // created
methods: {
setFeaturedImage: function(objID) {
this.objID = objID;
}
}
}
</script>
解决方案
为此使用计算属性
computed: {
mainClass: function() {
return this.$route.name.toLowerCase();
}
}
推荐阅读
- c++ - 加载共享库时出现“错误:libSDL2_mixer-2.0.so.0:无法打开共享对象文件:没有这样的文件或目录
- java - spring boot 删除 url 中的无效符号
- python - Non_field_errors django webapi 中没有提供数据
- jquery - 为什么我从 jquery 高度和宽度得到 NaN 结果?
- python - 如何对同一域的多个请求进行一次身份验证?
- java - JPA 中不寻常的“未知参数异常”
- java - Android - 在模块 protobuf-java-3.8.0.jar 和 protobuf-lite-3.0.1.jar 中发现重复的类
- javascript - 使用 Switch/Toggle Css/javascript 更改文本颜色
- php - 如何优化数据加载速度
- react-native - 如何修复 Expo Print.printToFileAsync(options) undefined is not an object 错误