Javascript 设置为localstorage淘汰后更新视图
我想将数组推入并将其设置为本地存储在knockout中。到现在为止,一直都还不错。 只要我想检索数据并推送新数据并将其显示到视图中。它不起作用了Javascript 设置为localstorage淘汰后更新视图,javascript,knockout.js,Javascript,Knockout.js,我想将数组推入并将其设置为本地存储在knockout中。到现在为止,一直都还不错。 只要我想检索数据并推送新数据并将其显示到视图中。它不起作用了 var viewModel = function() { var self = this; this.tags = ko.observable(''); self.tempNum = ko.observableArray(); self.tempNum = localStorage.getItem('tags')
var viewModel = function() {
var self = this;
this.tags = ko.observable('');
self.tempNum = ko.observableArray();
self.tempNum = localStorage.getItem('tags') ? JSON.parse(localStorage.getItem('tags')) : []; // this line wont let data to be updated
self.formSubmit = function(){
var self = this;
var num = checknum(self.tags().split(/[,;\n]+/));
console.log(self.tempNum)
localStorage.setItem('tags',ko.toJSON(num));
}
self.removeTags = function() {
console.log("ada")
}
function checknum(item){
for(var i = 0; i < item.length; i++){
if(!isNaN(item[i]) && item[i] != ''){
if(item[i] >= 0){
self.tempNum.push({value:item[i],color:"red"})
}else{
self.tempNum.push({value:item[i],color:"blue"})
}
}
}
return self.tempNum
}
};
ko.applyBindings(new viewModel());
var viewModel=function(){
var self=这个;
this.tags=ko.可观察(“”);
self.tempNum=ko.observearray();
self.tempNum=localStorage.getItem('tags')?JSON.parse(localStorage.getItem('tags')):[];//此行不允许更新数据
self.formSubmit=函数(){
var self=这个;
var num=checknum(self.tags().split(/[,;\n]+/);
console.log(self.tempNum)
setItem('tags',ko.toJSON(num));
}
self.removeTags=函数(){
console.log(“ada”)
}
函数checknum(项){
对于(变量i=0;i=0){
self.tempNum.push({value:item[i],颜色:“red”})
}否则{
self.tempNum.push({value:item[i],颜色:“blue”})
}
}
}
return self.tempNum
}
};
应用绑定(新的viewModel());
事实上,一切正常,当我添加这一行时:
self.tempNum=localStorage.getItem('tags')?parse(localStorage.getItem('tags')):[]代码>
视图不更新。有什么建议吗?谢谢你我没有足够的声誉来添加评论,否则我会先在评论中请求你的html代码
如果没有html代码,很难猜测您想要实现什么,但是当您添加这一行时
self.tempNum = localStorage.getItem('tags') ? JSON.parse(localStorage.getItem('tags')) : [];
然后将tempNum observable数组替换为普通javascript数组,这样关联的视图就不会更新
试着用这个替换
self.tempNum(localStorage.getItem('tags') ? JSON.parse(localStorage.getItem('tags')) : []);
看看这是否有帮助