骨干视图事件重定向

时间:2015-11-27 15:43:01

标签: javascript backbone.js

我想在Backbone视图中触发事件时移动到另一个页面。

events: {
    'click .btn': 'signin'
},
render: function() {
    tmp = this.template();
    this.$el.html(tmp);
},
signin: function() {
    var logi = document.forms['signin']['name'].value;
    var mail = document.forms['signin']['email'].value;
    var passwd = document.forms['signin']['pass'].value;
    var hash = CryptoJS.SHA256(passwd).toString(CryptoJS.enc.Hex);
    var tkn = Math.random(9) * 123123123;
    _this.navigate('#', true);
    var user = new User({
        'login': logi,
        'email': mail,
        'pass': hash,
        'token': tkn.toString(),
        'recovery': null,
        'img': 'default.png'
    });
    //var user = new User({ 'user': logi, 'pass': hash });
    user.save({
        success: function(res) {
            alert(res.res);
        },
        error: function(res) {
            alert(res.res);
        },
        wait: true
    });

在我的测试中,这不起作用。谁能帮我理解为什么?

重要的代码是_this.navigate('#', true)

1 个答案:

答案 0 :(得分:0)

为了修改你可以做的网址

router.navigate('url');

如果您还希望为此网址调用路由器的方法,则必须将选项触发器设置为true:

router.navigate("url", {trigger: true});

无论如何,你应该在你的功能结束时调用router.navigate,这样你的用户才能真正创建。

然后,您的视图应该通过您的路由器方法更新此网址。

相关问题