1

私は ember.js アプリを作成しています。最初のページは単一フィールドで、ボタンがあります。ボタンをクリックすると、パスに移動したいと思います#/deals/:api_key。ただし、ボタンをクリックすると、最善の方法がわかりません。

これが私がこれまでに持っているものです:

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>

テキスト入力から次のトランジションにクエリ パラメータとしてデータを渡す正しい方法に関する提案はありますか?

4

1 に答える 1

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/

于 2013-04-09T21:38:43.143 に答える