2016-04-19 4 views
0

Любой может объяснить, как использовать подмешать в различных маршрутов в уголекМиксин в разных направлениях?

Рассмотрим пример, который я хотел бы написать метод, который будет заботиться о REST API вызова с использованием подмешать.

getData: function() { 
    return new Promise(function(resolve, reject){ 
     $.ajax({ 
      url: 'http://www.carqueryapi.com/api/0.3/?callback=?&cmd=getMakes&year=2010&sold_in_us=1', 
      type: 'GET', 
      accepts: 'application/json', 
      dataType: 'jsonp', 
      success: function(data) { 
       resolve(data); 
      }, 
      error: function() { 
       reject('DEBUG: GET Enquiries Failed'); 
      } 
     }); 
    }); 
    } 

Предположим, что я хотел бы использовать эту GetData() в различных маршрутов, Что будет лучшим решением

ответ

1

Если вы используете ember-cli вы можете создать Примеси, запустив ember g mixin my-custom-ajax, который будет создавать файл под app/mixins по имени my-custom-ajax.js.

В этом файле вы бы экспортировать подмешать следующим образом:

import Ember from 'ember'; 

export default Ember.Mixin.create({ 
    getData() { 
    return new Promise(function(resolve, reject) { 
     $.ajax({ 
     url: 'http://www.carqueryapi.com/api/0.3/?callback=?&cmd=getMakes&year=2010&sold_in_us=1', 
     type: 'GET', 
     accepts: 'application/json', 
     dataType: 'jsonp', 
     success: function(data) { 
      resolve(data); 
     }, 
     error: function() { 
      reject('DEBUG: GET Enquiries Failed'); 
     } 
     }); 
    }); 
    } 
}); 

И в маршрутах, которые будут осуществлять свой подмешать вам придется импортировать и включить его:

import MyCustomAjaxMixin from 'yourAppName/mixins/my-custom-ajax' 
import Ember from 'ember'; 

export default Ember.Route.extend(MyCustomAjaxMixin, {}); 
+1

Спасибо дружище. Работает –

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