2013-04-09 31 views
1

我正在創建一個ember.js應用程序。第一頁是單個字段,帶有一個按鈕。點擊按鈕後,我想讓它進入路徑#/deals/:api_key。但是,當我點擊按鈕時,我不清楚最佳方式。Ember轉換與查詢參數

這是我到目前爲止有:

App = Ember.Application.create(); 

App.Store = DS.Store.extend({ 
    revision: 12, 
    adapter: 'DS.FixtureAdapter' 
}); 

App.Deal = DS.Model.extend({ 
    name: DS.attr('string') 
}); 

App.Router.map(function() { 
    this.resource('start', { path: '/' }); 
    this.resource('deals', { path: '/deals/:api_key' }); 
}); 

App.DealsRoute = Ember.Route.extend({ 
    model: function(params) { 
    return App.Deal.find(); 
    } 
}); 

App.StartController = Ember.ObjectController.extend({ 
    apiKey: "", 
    getDeals: function (model) { 
    this.transitionToRoute('deals'); 
    } 
}); 

App.DealsView = Ember.View.extend({ 
    didInsertElement: function() { 
    // Add active class to first item 
    this.$().find('.item').first().addClass('active'); 
    this.$().find('.carousel').carousel({interval: 1000}); 
    } 
}); 

    <script type="text/x-handlebars" data-template-name="start"> 
    {{view Em.TextField valueBinding="apiKey" placeholder="API Key"}} 
    <br /> 
    <button {{action 'getDeals'}} class="btn btn-large">Get Won Deals!</button> 
    </script> 

    <script type="text/x-handlebars" data-template-name="deals"> 
    <div id="carousel" class="carousel slide"> 
     <div class="carousel-inner"> 
     {{#each model}} 
      <div class="item"> 
      {{name}} 
      </div> 
     {{/each}} 
     </div> 
    </div> 
    </script> 

以正確的方式有什麼建議從文本輸入傳遞數據到作爲查詢參數的下一個過渡?

回答

0

您需要在linkTo助手中傳遞視圖中的參數,例如,

{{#linkTo 'deals' api_key}}go to deals{{/linkTo}} 

這會生成您需要的動態部分的鏈接。

<a href="/deals/[the_dynamic_apykey]">go to deals</a> 

檢查有關linkTo的文檔的更多信息:http://emberjs.com/guides/templates/links/

+0

我熟悉的'linkTo'幫手,試圖通過控制按鈕的動作做。我想我已經弄明白了,發現了另一個問題。 – brandonhilkert 2013-04-10 00:57:32