簡體   English   中英

骨干視圖事件重定向

[英]Backbone view event redirect

在主干視圖中觸發事件時,我想移到另一個頁面。

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)

為了修改網址,您可以

router.navigate('url');

如果您還希望為此URL調用路由器的方法,則必須將選項trigger設置為true:

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

無論如何,您應該在功能結束時調用router.navigate,這樣才能真正創建用戶。

然后,應該通過路由器方法對此網址更新您的視圖。

暫無
暫無

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

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