私はシンプルVueのコンポーネントを持って定義されているだけで、リストサーバ接続データ:このコンポーネントが搭載されているときVuexからserver
はすでに定義して行われているVuejs未定義のプロパティのエラーが、
<template>
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="page-header">
<h2 class="title">Data</h2>
</div>
<br>
</div>
<div class="col-xs-12">
<table class="table">
<tr>
<td>Server</td>
<td><strong>{{config.servers}}</strong></td>
</tr>
<tr>
<td>Port</td>
<td><strong>{{config.port}}</strong></td>
</tr>
<tr>
<td>Description</td>
<td><strong>{{config.description}}</strong></td>
</tr>
<tr>
<td>Protocol</td>
<td :class="{'text-success': isHttps}">
<i v-if="isHttps" class="fa fa-lock"></i>
<strong>{{config.scheme}}</strong>
</td>
</tr>
</table>
</div>
</div>
</div>
</template>
<script>
import { mapState } from 'vuex'
export default {
name: 'Application',
data() {
return {
config: {
scheme: '',
servers: '',
port: '',
description: ''
}
}
},
computed: {
...mapState(['server']),
isHttps:() => this.config.scheme === 'https'
},
mounted() {
const matched = this.server.match(/(https?):\/\/(.+):(\d+)/)
this.config = {
scheme: matched[1],
servers: matched[2],
port: matched[3],
description: window.location.hostname.split('.')[0] || 'Server'
}
}
}
</script>
、そして私がしようとした場合console.log(this.server)
には、正しいURLが表示されます。ある事は、私の計算されたプロパティisHttps
次のエラーがスローされます。
[Vue warn]: Error in render function: "TypeError: Cannot read property 'scheme' of undefined"
found in
---> <Application> at src/pages/Aplicativo.vue
<App> at src/App.vue
<Root>
私はすでにconfiguration
またはdetails
のように、何か他のものにconfig
を変更しようとしました、とさえcreated
にmounted
を変更しましたが、エラーがポップアップし続けてきました私のテンプレートはで、レンダリングされていません。です。
まず、私はconfig
を計算されたプロパティにし始めましたが、エラーはすでに自分のコンソールに届いていました。
server:() => this.$store.state.server
私は何をすることができます?ところで、このような計算されたプロパティとしてストアを使用した場合も、私の$store
が定義されていないというエラーがスローされますか
ありがとうございました! –