gpt4 book ai didi

javascript - 我从列表中删除一个项目,同时从 AngularJs 中的另一个列表中删除相同的项目

转载 作者:行者123 更新时间:2023-12-03 02:04:54 25 4
gpt4 key购买 nike

我有两个列表。它们都填满了我的服务。我的服务如下:

我的服务:

 `function data (){

var locationList={
list: ''
}
var currentlocation = {
editList : ''
}

return {


getAllLocationList:function(){

return locationList.list;
},

setAllLocationList:function(allLocationList){
locationList.list = allLocationList;
},

getCurrentList:function(){

return currentlocation.editList;
},

setCurrentList:function(currentList){
currentlocation.editList = currentList;
},

}
}`

在我的 Controller 中,

vm.location=data.getCurrentList();
vm.allLocationList=data.getAllLocationList();

vm.location 包含 id、名称、关键字、数字和vm.allLocationList 包含名称、关键字、编号

我还有keywordAdd和keywordDelete函数。当我进入keywordDelete函数并从vm.location列表中删除一些关键字时,则会自动从vm.allLocationList中删除相同的项目 code>。同样的情况在 keywordsAdd 函数上也有效。你有什么想法吗?也许,服务结构不好。我第一次写这个。我已经工作了2天了,还没解决。

最佳答案

所以这是关于 Javascript execution context 。当你创建一个函数时,它内部的变量在它的上下文中属于它。这意味着它们对于 data() 的每个实例都是相似的。

Javascript(我认为是从 ES5 开始)支持面向对象编程,允许您创建一个对象,然后创建多个(半)独立的实例。

function Data() {
this.locationList={
list: ''
}
this.currentlocation = {
editList : ''
}
}

Data.prototype = {
getAllLocationList:function(){
return this.locationList.list;
},
setAllLocationList:function(allLocationList){
this.locationList.list = allLocationList;
},
getCurrentList:function(){
return this.currentlocation.editList;
},
setCurrentList:function(currentList){
this.currentlocation.editList = currentList;
},
}

var data = new Data();

我强烈建议您进一步阅读有关此主题的内容。它是许多 JS 困惑的核心。祝你好运!

关于javascript - 我从列表中删除一个项目,同时从 AngularJs 中的另一个列表中删除相同的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49839740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com