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 回答