2017-03-04 8 views
1

<project-comp></project-comp>コンポーネントが表示されません。createdフックを使用してprojectsプロパティを設定しました。ただし、動作しません。ここでページが読み込まれたときに、表示コンポーネントが表示されません。表示させる方法は?

は私のコードです:

Vue.component('project-comp',{ 
     template: ` 
     <div class='box'>    
      <div v-for='one in this.$parent.projects'> 
       <h2> @{{one.place}}</h2> 
       <h2> @{{one.time}}</h2> 
      </div> 
     </div> 
     `, 
}); 

var app = new Vue({ 
     el: '#root', 

     props:['projects'], 

     created: function() { 
      $.post(
       'url', 
       {'city':'beijing'}, 
       function(data){ 
        this.projects = data; 
       }, 
       'json' 
      ); 
     }, 


}); 
+0

あなたのスニペットでは、使用するために ''を登録/作成するだけですが、テンプレートマークアップでどこで 'マウントしましたか? – Xlee

答えて

3

それは、この範囲が正しくない、あなたはそれを持っている必要がありそうです:

var app = new Vue({ 
     el: '#root',  
     props:['projects'], 
     created: function() { 
      var self = this 
      $.post(
       'url', 
       {'city':'beijing'}, 
       function(data){ 
        self.projects = data; 
       }, 
       'json' 
      ); 
     }, 
}); 

ES-6で、それだけで使用できます

var app = new Vue({ 
     el: '#root',  
     props:['projects'], 
     created: function() { 
      $.post(
       'url', 
       {'city':'beijing'}, 
       (data) => { 
        this.projects = data; 
       }, 
       'json' 
      ); 
     }, 
}); 

チェックthis説明のため。

+2

私はこれに関するドキュメンテーションのトピックを作成しました。それは多くのポップアップのようです。 http://stackoverflow.com/documentation/vue.js/9350/using-this-in-vue#t=201703042039563445243 – Bert

関連する問題