2017-08-31 59 views
0

我是新来。该组件comp1似乎不起作用。VueJs成分不确定

HTML

<div id="example-2"> 
    <comp1></comp1> 
</div> 

脚本

var data1={selected: null, items:["degradant", "impurity"]}; 

Vue.component('comp1, { 
    template:'<select v-model="selected"> 
      <option disabled value="">Please select</option> 
      <option v-for="item in items" :value="item">{{item}}</option> 
      </select>', 
    data: function(){ 
    return data1 
    }    
}); 

new Vue({ 
    el: '#example-2' 
}) 
+0

是否使用单引号'''或'反引号周围分量模板?单引号不起作用。 – Bert

回答

1

你的组件应该是这样的:

Vue.component('comp1', { 
    template:`<select v-model="selected"> 
      <option disabled value="">Please select</option> 
      <option v-for="item in items" :value="item">{{item}}</option> 
      </select>`, 
    data: function(){ 
    return data1 
    }    
}); 

你在这里缺少一个单引号:'comp1, {,你必须用反引号包围多行模板,`。

console.clear() 
 

 
var data1={selected: null, items:["degradant", "impurity"]}; 
 

 
Vue.component('comp1', { 
 
    template:`<select v-model="selected"> 
 
      <option disabled value="">Please select</option> 
 
      <option v-for="item in items" :value="item">{{item}}</option> 
 
      </select>`, 
 
    data: function(){ 
 
    return data1 
 
    }    
 
}); 
 

 
new Vue({ 
 
    el: '#example-2' 
 
})
<script src="https://unpkg.com/[email protected]"></script> 
 
<div id="example-2"> 
 
    <comp1></comp1> 
 
</div>

+0

非常感谢!倒退是不可思议的! – user1830108