所以我目前有以下問題。如何保存當前URL並通過按鈕點擊加載
我有一個動態圖表,我可以添加各種變量,圖形顯然會根據添加的變量而變化。當添加或刪除變量時,URL將根據這些變量自動更改,因此我可以採用該確切的URL並重新加載它,這將再次顯示相同的選定變量。該URL不遵循設置的格式,並將按照其所選順序逐字添加變量到其末尾。
我的問題是,我希望用戶能夠在文本框中輸入名稱,然後在'提交',當前URL將與用戶指定的名稱一起保存(注意:我沒有將URL保存到服務器)。然後這個名字將顯示在一個多列表中,用戶可以選擇一個選項,一旦選擇,應用程序就會自動加載與該名稱相關的特定URL。
我知道我需要(很可能)以下的(僞)邏輯:
savePreset: function() { define url variable when user clicks 'Save' button, Fetch current URL and specified input name save URL }
清單我會用數據結合在視圖中顯示預置,然後用裝載預設,我不太清楚如何解決這個問題。
我正在使用Knockout.Js,我老實說難倒了。我嘗試了一些方法來做到這一點,但我無法接近我需要的任何地方(我很確定這是一個簡單的解決方案)。
如果任何人有任何這方面的經驗或知道以前的答案,或可以幫助我,我會非常感激。
P.S:請注意我一般對JS沒有那麼強大,而且我對Knockout還是個新手,所以我仍然在學習。
編輯
我仍然有在列表中顯示它並指定相關的URL的輸入值的麻煩。以下是我保存網址的新功能。
` setPreset: function() {
var setCurrentLocation;
if (!localStorage.setCurrentLocation) {
setCurrentLocation = [];
} else {
setCurrentLocation = JSON.parse(localStorage.setCurrentLocation);
}
var ourLocation = [document.URL];
setCurrentLocation.push(ourLocation);
try {
localStorage.setCurrentLocation = JSON.stringify(setCurrentLocation);
console.log("Preset was Saved: " + ourLocation);
return true;
}
catch (e) {
if (e == QUOTA_EXCEEDED_ERR) {
alert("Preset Quota exceeded!");
}
}
},`
我也想顯示這樣的「清單」: <div data-bind="foreach: setPreset"> <span style="border: 1px solid" data-bind="text: ourLocation"></span> </div>
很顯然,因爲沒有什麼是儲蓄,因此沒有被顯示。我認爲,對於這個特定位,定義爲 setPreset: function() { self.setPreset.apply(self); },
var self = this;
我曾嘗試將它分配爲一個observableArray - 但隨後代碼無法工作。
這很簡單,只需調用window.doYourWorkForYou(「Name」)函數,它就會正常工作 – QBM5
你有沒有經過Knockout教程? http://learn.knockoutjs.com –
我已經和仍然是羅伊J - 就像我說過的,我還在學習:) – Nomm