Vueアプリケーションのプロダクションビルドで機能するプロパティを取得するのに苦労しています。開発中はすべて正常に動作するように見えますが、アプリケーションがコンパイルされてもそれは動作しません。VueJS 2のプロパティがプロダクションビルドで継承されない
navigation.js::私は、たとえば使用しています。このナビゲーション・コンポーネントを取り
import Vue from 'vue';
import template from './navigation.html';
export default Vue.extend({
props: ['activePage'],
template,
methods: {
setActivePage: function() {
// Set activeEl to ref (see template) that corresponds to activePage parameter
var activeEl = this.$refs[this.activePage];
if (activeEl) {
activeEl.className += ' active';
}
}
},
mounted: function() {
this.setActivePage();
}
});
navigation.html:
<div class="container">
<nav class="navigation">
<div class="navigation__bar">
<router-link to="/"><img class="navigation__brand" src="placeholder" /></router-link>
<ul class="navigation__links">
<li class="navigation__link" ref="a"><router-link to="/">a</router-link></li>
<li class="navigation__link" ref="b"><router-link to="/b">b</router-link></li>
<li class="navigation__link" ref="c"><router-link to="/c">c</router-link></li>
</ul>
</div>
</nav>
</div>
これは私がこのコンポーネントを使用する方法です。
<navigation activePage="a"></navigation>
S oの場合、このコンポーネントはactivePage
プロパティを取り、activePage
の値に対応するrefがある場合はテンプレートをチェックし、trueの場合はactive
クラスをref要素に追加します。これは、開発ビルドで動作しますが、生産にそれがこの結果に:
<div class="container" activepage="cases">
は、私がここで間違って何かをやっていますか?