2014-11-24 57 views
0

我有以下木偶應用:http://slexy.org/view/s21ARG2QdP木偶不導航到相同的URL

我的問題是,當我在樹中選擇的節點,我得到「選擇」和「全軍覆沒」的警報。

但是當我再次選擇節點時,我只看到「選中」。

不知何故,我不進入控制器功能,如果我去相同的網址。

有沒有人有想法我錯過了什麼?

謝謝Alex A.

回答

1

您的代碼是正確的。您的「問題」來自Backbone.History.navigate(fragment, options)的實施。

讓我們來看看它:

navigate: function(fragment, options) { 
    if (!History.started) return false; 
    if (!options || options === true) options = {trigger: !!options}; 

    // Normalize the fragment. 
    fragment = this.getFragment(fragment || ''); 

    // Don't include a trailing slash on the root. 
    var root = this.root; 
    if (fragment === '' || fragment.charAt(0) === '?') { 
    root = root.slice(0, -1) || '/'; 
    } 
    var url = root + fragment; 

    // Strip the hash and decode for matching. 
    fragment = decodeURI(fragment.replace(pathStripper, '')); 

    if (this.fragment === fragment) return; 
    this.fragment = fragment; 
    // Truncated 
    .... 
    .... 
} 

從這裏你可以看到,噹噹前片段等於新片段Backbone.History.navigate()功能將退出,因爲它不會觸發控制器的動作。


我認爲,這樣的做法是處理路由正確的方式,如果你需要某種形式的「刷新」你可以用幾種工藝的一個當前視圖:

  1. 全頁刷新。

  2. 手動呼叫控制器的動作。

+0

感謝您的快速回答。是否有機會刷新頁面中的一個區域而不是調用控制器的操作? – alexarsh 2014-11-25 15:26:36

+0

當然。只要聽聽你的活動,並用新的數據顯示區域。 – 2014-11-25 15:41:50