2017-04-10 45 views
0

你好,我是使用vuejs,我需要你的幫助才能做到這一點的最佳做法: LANGS:是語言的對象:使用V-的和V-如果在相同的元素

langs: {'1':'fr', '2':'en', '3':'ar'}, 

has_lang:等於1,我需要爲每個郎 輸入一個值的情況下,並等於0的情況下,我只需要對所有語言

我現在在做什麼輸入一個值:

<md-layout md-gutter> 
     <md-input-container v-if="has_langs" v-for="lang in langs"> 
      <label>@{{ attribute.attribute }} @{{ lang }}</label> 
      <md-input v-model="attValues"></md-input> 
     </md-input-container> 

     <md-input-container v-if="has_langs == 0"> 
      <label>@{{ attribute.attribute }} @{{ lang }}</label> 
      <md-input v-model="inputa"></md-input> 
     </md-input-container> 
    </md-layout> 

我需要的是不重複輸入*兩次 此輸入*:

<md-input-container> 
    <label>@{{ attribute.attribute }} @{{ lang }}</label> 
    <md-input v-model="inputa"></md-input> 
</md-input-container> 

有一種方法來設置V型的和V-如果在相同的元素或其他什麼東西,能做到這一點?

回答

0

您可以將has_langs和langs的所有檢查移動到代碼中。

computed: { 
    __langs(){ 
     return this.has_langs === 1? this.langs : {'0': 'Params for all'}; 
    } 
}, 
methods: { 
    manipulateWithLangs(){ 
    if (this.has_langs === 1){ 
    //do 
    } else { 
    // do something else 
    } 
    } 
} 



<md-layout md-gutter> 
    <md-input-container v-for="lang in __langs"> 
     <label>@{{ attribute.attribute }} @{{ lang }}</label> 
     <md-input v-model="attValues"></md-input> 
    </md-input-container> 
</md-layout>