2017-05-09 61 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,如果屬實,則會將active類添加到ref元素。它的工作原理與開發版本,但它在生產導致的:

<div class="container" activepage="cases">

我在這裏幹什麼什麼了嗎?我的項目是基於此模板,如果該事項:https://github.com/villeristi/vue.js-starter-template

回答

相關問題