2017-05-09 8 views
3

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">

は、私がここで間違って何かをやっていますか?

答えて

関連する問題