0

次のテンプレートがあります。

<a data-rel="back" data-role="button" data-icon="delete" data-iconpos="notext" class="ui btn-right" data-theme="e"></a> <p id="msg"></p>

次のビューからロードされます。

define(['backbone', 'marionette', 'jquery', 'jquerymobile', 'hbs!templates/Popup'],
function (Backbone, Marionette, $, jqm, template) {
    return Backbone.Marionette.ItemView.extend({
        attributes: function() {
            return {
                // For dialogs to work correctly, url will need to be unique
                'id' : 'popupMsg',
                'data-role': 'popup',
                'class': 'ui-content'
            };
        },
        template: template,
        initialize: function() {
            _.bindAll(this);
        },
        onBeforeRender: function(){
            this.$el.find("#msg").text("{{$ message}}");
        }
    });
});

上記のコードをOnBeforeRenderイベントに追加して、テンプレートの#msg要素にテキストを追加しようとしました。その理由は、ビューがレンダリングされる前にハンドルバーからローカライズされる文字列を渡したいからです。

それは可能ですか?

ありがとう

4

1 に答える 1

0

残念ながら、#msg要素はビューがレンダリングされるまで存在しないため、テキストを設定しようとしても機能しonBeforeRenderません。

ハンドルバー式をテンプレートの一部にできないのはなぜですか?

于 2013-09-05T19:36:22.857 に答える