2016-02-11 7 views
2

У меня есть 2 компонента. Как я могу вызвать метод fetchProjectList() в методе createProject().Vue.js Метод вызова от другого компонента

Первый компонент:

Vue.component('projects', { 
    template: '#projects-template', 

    data: function() { 
     return { 
      list: [] 
     } 
    }, 

    ready: function() { 
     this.fetchProjectList(); 
    }, 

    methods: { 
     fetchProjectList: function() { 
      resource.get().then(function (projects) { 
       this.list = projects.data; 
      }.bind(this)); 
     } 
    } 

}); 

Второй компонент

Vue.component('createProjects', { 
    template: '#create-projects-template', 

    methods: { 
     createProject: function() { 
      resource.save({}, {name: this.name}).then(function() { 
       this.fetchProjectList() 
      }.bind(this), function (response) { 
       // error callback 
      }); 
     } 
    } 
}); 
+0

Как эти компоненты связаны? Есть ли у них общий родитель? – nils

+0

Нет, у них нет общего родителя. Я новичок. – user3118789

ответ

3

Вы не делаете, или, вернее, вы не должны. компоненты не должны зависеть от других компонентов таким прямым образом.

Вы должны либо извлечь этот метод в mixin, либо сохранить его в собственном объекте, который вы импортируете в каждый компонент.

Читайте на магазине схеме: http://vuejs.org/guide/application.html#State_Management

+1

В зависимости от их отношения использование событий также может быть хорошим решением. – nils

 Смежные вопросы

  • Нет связанных вопросов^_^