第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

相當(dāng)于之前的 model 沒有被釋放,事件重復(fù)執(zhí)行了。 如何解決這個問題呢?

相當(dāng)于之前的 model 沒有被釋放,事件重復(fù)執(zhí)行了。 如何解決這個問題呢?

慕的地8271018 2023-05-02 15:10:01
這是 router 中的一個函數(shù)。routes: {  "post/:id": "postEdit"},postEdit: function (id) {  console.log('router.js, got router: #/post/' + id);   UILoading($("#main"));  var model = new PostModel({_id: id});   model.fetch({    success: function () {      new PostEditView({model: model});     },    error: function () {      console.log("failed, on router: #/post/" + model.id);     }   }); }接下來是 View 的代碼var PostEditView = Backbone.View.extend({     el: '#main',     template: doT.template(PostEditTemplate),     events: {      'click #savePost': 'save'     },     initialize: function () {       _.bindAll(this, 'render');      this.model.bind("change", this.render, this);      var converter = Markdown.getSanitizingConverter();      this.editor = new Markdown.Editor(converter);      this.render();     },     render: function () {      this.$el.html(this.template(this.model.toJSON()));      this.editor.run();     },     save: function () {      this.model.set({         title: $("#post_title").val(),         slug: $("#post_slug").val(),         created: $("#post_created").val(),         tags: $("#post_tags").val().split(','),         content: $(".post_content").val()       });      this.model.save();     }   });最后發(fā)現(xiàn),當(dāng)訪問過多次#/post/5103fbb3817feb1c10000001,/#/post/5103c114ce4c724c12000002 后,save 這個函數(shù)會重復(fù)調(diào)用。
查看完整描述

2 回答

?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗 獲得超5個贊

routes: {  "post/:id": "postEdit"},postEdit: function (id) {  console.log('router.js, got router: #/post/' + id);

  UILoading($("#main"));  var model = new PostModel({_id: id});  var view = new PostEditView({model: model});

  model.fetch({    error: function () {      console.log("failed, on router: #/post/" + model.id);
    }
  });
}

view 里的initialize可以不直接執(zhí)行render,放到事件里吧

查看完整回答
反對 回復(fù) 2023-05-05
?
繁星點點滴滴

TA貢獻(xiàn)1803條經(jīng)驗 獲得超3個贊

view 的切換,主要由路由來觸發(fā),所以在 router 中加了一個函數(shù)來做 view 切換管理。

switchView: function (view) {  if (this.currentView) {    this.currentView.remove();
  }  this.currentView = view;
},

每次 route ,都調(diào)用 switchview 來進(jìn)行切換。

// #/post/512c4527f7d8797818000001postEdit: function (id) {  console.log('router.js, got router: #/post/' + id);  var that = this;  var model = new PostModel({_id: id});  var view = new PostEditView({model: model});    this.switchView(view);    //...... do something.
  }
查看完整回答
反對 回復(fù) 2023-05-05
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號