簡體   English   中英

骨干| 准備文檔的腳本

[英]Backbone | Script for document ready

我希望像$ {document).ready()一樣運行一個腳本(js)。 有一種方法可以在模板(例如home_tpl.html)文件中編寫腳本。 但是我確信這不是一個好方法。

我正在從主干網視圖加載html。 我沒有使用像marionate這樣的其他包裝器。 在這里,我希望在加載模板(加載DOM)時運行一些腳本。 我可以用哪種方式編寫腳本?

這是視圖的渲染

 reset: function(key, email){
     require(['js/views/reset_password', 'js/models/forgot_password'], function(ResetView, ResetModel){
        var resetModel = new ResetModel();
        resetModel.set('key', key);
        resetModel.set('email', email);
        $('body').html(new ResetView({model: resetModel}).render().el);
     });
    },

這是查看代碼

define(['text!tpl/reset_passwordtpl.html'],function(Template){

return Backbone.View.extend({
    template: _.template(Template),  
    render: function(){
        $(this.el).html(this.template());
        return this;
    },
    events: {
        "click #btn_reset_password": "reset"
    },
    reset: function(){
        if($('#reset_password').val() != $('#confirm_reset_password').val()){
            $('#error_message').text('Passwords mismatched').show();
        }   

        else{
            $.ajax({
                url: server_url + 'reset',
                type:'POST',
                dataType:"json",
                data: {'id': this.model.get('email'), 'key': this.model.get('key'), 'new_password': $('#reset_password').val()},
                success:function (data) {
                    if(data.error) {  // If there is an error, show the error messages
                        $('.alert-error').text(data.error.text).show();
                    }
                    else { // If not, send them back to the home page
                        $("#content").html("<h6>Your password is reset. Click <a href='#login'>here</a> to login.</h6>");
                    }
                }
            });
        }
    }
});
});

謝謝

您應該在某個地方有主視圖。 您還可以在其中添加樣式表等。在頁面底部,緊靠主體關閉標簽之前。 在某些腳本標簽中,只需完成document.ready即可。 除非在模板中也是如此,否則在考慮視圖時,我將考慮使用其他結構。

如果您只想在准備好加載一個模板時執行此操作,則可以使用具有匿名功能的成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM