Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干|用于文档准备的脚本_Javascript_Templates_Backbone.js - Fatal编程技术网

Javascript 主干|用于文档准备的脚本

Javascript 主干|用于文档准备的脚本,javascript,templates,backbone.js,Javascript,Templates,Backbone.js,有一个scriptjs,我希望它像$document.ready一样运行。有一种方法可以在templatee.g中编写脚本。home_tpl.html文件。但我相信这不是一个好办法 我正在从主干视图加载html。我不使用像marionate这样的包装。在这里,我希望在加载模板时运行一些脚本。我可以用哪种方式写剧本 这是视图的渲染 reset: function(key, email){ require(['js/views/reset_password', 'js/models/fo

有一个scriptjs,我希望它像$document.ready一样运行。有一种方法可以在templatee.g中编写脚本。home_tpl.html文件。但我相信这不是一个好办法

我正在从主干视图加载html。我不使用像marionate这样的包装。在这里,我希望在加载模板时运行一些脚本。我可以用哪种方式写剧本

这是视图的渲染

 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操作。除非这也是一个模板,在这种情况下,我会考虑使用不同的结构,当谈到视图。
如果您只想在一个模板准备好加载时执行此操作,我将使用succes和匿名函数。

您应该在某个地方有一个主视图。您还可以在页面底部正文结束标记之前包含样式表等。在一些脚本标记中,只需执行document.ready操作。除非这也是一个模板,在这种情况下,我会考虑使用不同的结构,当谈到视图。
如果您只想在一个模板准备加载时执行此操作,我将使用succes和匿名函数。

如果您的代码正在加载模板,您知道何时加载DOM,是不是在您将内容添加到页面之后。视图应该包含脚本,而不是模板。我正在渲染视图,视图正在加载模板。我认为它是在内部加载的,我无法找到加载模板时的点。您如何渲染视图?它不是自动的。您需要调用render,例如,在render中,可以使用下划线的模板编译器创建HTML,然后将其插入DOM中。请编辑您的问题,以包括有关您困惑的地方的详细信息。我已编辑了问题如果您的代码正在加载模板,您知道何时加载DOM,不是吗?将内容添加到页面之后。视图应该包含脚本,而不是模板。我正在渲染视图,视图正在加载模板。我认为它是在内部加载的,我无法找到加载模板时的点。您如何渲染视图?它不是自动的。您需要调用render,例如,在render中,可以使用下划线的模板编译器创建HTML,然后将其插入DOM中。请编辑您的问题,以包括您困惑的地方的详细信息。我已编辑了该问题