0

私は次の見解を持っています:

App.MessageTrayView = Bootstrap.AlertMessage.extend({
    message: 'This is a message.',
});

このテンプレートに表示されるもの:

  <script type="text/x-handlebars" data-template-name="nodes">
    <article>
      <form class="form-horizontal">
        <fieldset>

          {{view App.MessageTrayView id="message-tray-view"}}

          <div id="legend" class="">
            <legend class="">Nodes&nbsp;&nbsp;&nbsp;<span class="badge">{{controllers.nodesIndex.length}} records</span>
            <div class="pull-right">
              <a {{action destroyAllRecords}}><i class="icon-remove-circle"></i><a/>
              {{#linkTo "nodes.new" class="btn btn-primary"}}Add Node{{/linkTo}}
            </div>
            </legend>
          </div>

          {{outlet}}

        </fieldset>
      </form>
    </article>
  </script>

そして、この無関係なコントローラー:

App.NodesIndexController = Ember.ArrayController.extend({
    destroyAllRecords: function () {
        console.log('destroyAllRecords called');
        App.MessageTrayView.set('message', 'All nodes have been deleted');
    },
});

destroyAllRecordsがトリガーされたときに表示されるメッセージを変更したい。これは機能していません (コンソールのエラーメッセージは、私が何か*非常に*間違ったことをしていると言っています)。messageプロパティを変更して、変更がページに直接表示されるようにするにはどうすればよいですか?

ここでコードをライブで見ることができます

4

1 に答える 1