0
我有以下木偶應用:http://slexy.org/view/s21ARG2QdP木偶不導航到相同的URL
我的問題是,當我在樹中選擇的節點,我得到「選擇」和「全軍覆沒」的警報。
但是當我再次選擇節點時,我只看到「選中」。
不知何故,我不進入控制器功能,如果我去相同的網址。
有沒有人有想法我錯過了什麼?
謝謝Alex A.
我有以下木偶應用:http://slexy.org/view/s21ARG2QdP木偶不導航到相同的URL
我的問題是,當我在樹中選擇的節點,我得到「選擇」和「全軍覆沒」的警報。
但是當我再次選擇節點時,我只看到「選中」。
不知何故,我不進入控制器功能,如果我去相同的網址。
有沒有人有想法我錯過了什麼?
謝謝Alex A.
您的代碼是正確的。您的「問題」來自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()
功能將退出,因爲它不會觸發控制器的動作。
我認爲,這樣的做法是處理路由正確的方式,如果你需要某種形式的「刷新」你可以用幾種工藝的一個當前視圖:
全頁刷新。
手動呼叫控制器的動作。
感謝您的快速回答。是否有機會刷新頁面中的一個區域而不是調用控制器的操作? – alexarsh 2014-11-25 15:26:36
當然。只要聽聽你的活動,並用新的數據顯示區域。 – 2014-11-25 15:41:50