首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >AngularJS继续在作用域中添加项

AngularJS继续在作用域中添加项
EN

Stack Overflow用户
提问于 2014-08-24 16:51:33
回答 1查看 47关注 0票数 0

我在控制器中使用此方法为我的应用程序创建了一个虚拟数据:

代码语言:javascript
运行
AI代码解释
复制
$scope.owners = [];

        for (var i = 1; i <= 14; i++) {
            $scope.owners.push({
                id: i,
                systemCode: '00' + (1284538+i),
                systemName: 'Desktop',
                description: 'Lorem ipsum dolor',
                operational: '2973238',
                business: '5621253',
                manager: 'Dr. Smith',
                status: 'Active'
            });
        }

并添加此函数以执行删除请求:

代码语言:javascript
运行
AI代码解释
复制
$scope.rowDelete = function(row){
            $scope.owners.splice((this.owner.id - 1), 1);
        }

和用于分页的页面筛选器:

代码语言:javascript
运行
AI代码解释
复制
MyApp.filter('page', function () {
    return function (list, page, size) {
        var start = 0, end = 0;

        //console.log('page filter...', page, size);
        page = page || 1;

        if (angular.isArray(list)) {
            end = list.length;

            if (page && Number(page) && size && Number(size)) {
                page = Number(page);
                size = Number(size);

                start = (page - 1) * size;
                end = start + size;
            }

            return Array.prototype.slice.call(list, start, end);
        }

        return null;
    }

});

在HTML模板中,我使用ng-重复和自定义过滤器:

代码语言:javascript
运行
AI代码解释
复制
<tr data-ng-repeat="owner in owners | page:$stateParams.page:2">
<td class="table-cell-clean">
    <a href="javascript:;" data-ng-click="rowDelete()" class="btn btn-clean"><i class="mg-icon-delete"></i></a>
</td>
<td>{{ owner.systemCode }}</td>
<td>{{ owner.systemName }}</td>
<td>{{ owner.description }}</td>
<td>{{ owner.operational }}</td>
<td>{{ owner.business }}</td>
<td>{{ owner.manager }}</td>
<td class="align-center">{{ owner.status }}</td>

每当我单击delete按钮时,都会按预期调用rowDelete(),删除该行,但一旦它离开DOM,下一页中的一个新项就会插入到当前表中。

会出什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-24 17:34:52

这将如预期的那样。您的所有者数组正在被修改,这要求重新计算ng-重复表达式,其中包括页面筛选器表达式作为它的一部分。因此,所有者是通过删除一行、ng-重复检测更改并重新评估重复表达式来修改的,该表达式可以在其通过页面筛选器运行所有者的数组上迭代。因此,每页n项,删除离开n-1,页过滤所有者数组返回n项。

一切正常的行为。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25477722

复制
相关文章
AngularJS Scope(作用域)
Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带。
陈不成i
2021/07/23
1.5K0
【AngularJS】—— 12 独立作用域
前面通过视频学习了解了指令的概念,这里学习一下指令中的作用域的相关内容。 通过独立作用域的不同绑定,可以实现更具适应性的自定义标签。借由不同的绑定规则绑定属性,从而定义出符合更多应用场景的标签。 本篇将会总结下面的内容:   1 为何需要独立作用域   2 如何实现独立作用域   3 作用域的数据绑定 之前有一些错误,是由于replace拼写错误导致的。 拼写正确后,网友发现报错,无法正常工作。这是因为模板中存在单标签<br>,导致模板无法正确解析~ 再次感谢博友们提出的错误! 独立作
用户1154259
2018/01/17
1.4K0
【AngularJS】—— 12 独立作用域
AngularJs之Scope作用域
  AngularJS 中,作用域是一个指向应用模型的对象,它是表达式的执行环境。作用域有层次结构,这个层次和相应的 DOM 几乎是一样的。作用域能监控表达式和传递事件。
用户5640963
2019/07/26
1.6K0
angularjs中设置select的选中项
最近用angularjs比较多,里面有很多自己的方法,都不咋会用,这篇只是个笔记,防止自己忘记
庞小明
2019/07/08
3.2K0
在shell脚本中添加暂停,按任意键继续
分析一个复杂脚本的时候,有时候需要加点暂停,分段来看,比较清晰 于是参考了一些实现,目前自己用的是这样子的 #add for debug by zqb function get_char() {   SAVEDSTTY=`stty -g`   stty -echo   stty cbreak   dd if=/dev/tty bs=1 count=1 2> /dev/null   stty -raw   stty echo   stty $SAVEDSTTY } enable_pause=1 funct
zqb_all
2019/12/27
6.9K0
关于JS中的作用域中的沉思
scope和closure是javascript中两个非常关键的概念,前者JS用多了还比较好理解而且容易体会到,而closure就不一样了。这玩意是真的很容易迷糊
Yerik
2021/08/07
8850
Linux 内核中 Kconfig 文件的作用和添加 menuconfig 项的方法
嵌入式开发中,需要定制或添加一些内核的功能。这里就需要配置 Kconfig 文件了。本文简单说明一下如何修改。便于需要时查找
amc
2018/07/02
3.6K0
R分词继续,\"不|知道|你在|说|什么\"分词添加新词
* 中文分词常用实现: 单机:R语言+Rwordseg分词包 (建议数据量<1G) 分布式:Hadoop+Smallseg库 词库:Sougou词库,Sougou输入法官网可下载 这里只先介绍单机的实现: 1、R语言:专门用于统计分析、绘图的语言 2、Rwordseg分词包:引用了@ansj开发的ansj中文分词工具,基于中科院的ictclas中文分词算法,无论是准确度还是运行效率都超过了rmmseg4j。 * 环境准备 (Windows或Linux版本都行): R下载:http://mirrors.us
学到老
2018/03/19
1.1K0
R分词继续,\"不|知道|你在|说|什么\"分词添加新词
R分词继续,\"不|知道|你在|说|什么\"分词添加新词
单机:R语言+Rwordseg分词包 (建议数据量<1G) 分布式:Hadoop+Smallseg库 词库:Sougou词库,Sougou输入法官网可下载 这里只先介绍单机的实现: 1、R语言:专门用于统计分析、绘图的语言 2、Rwordseg分词包:引用了@ansj开发的ansj中文分词工具,基于中科院的ictclas中文分词算法,无论是准确度还是运行效率都超过了rmmseg4j。
学到老
2019/02/28
7850
angularJS学习之路(四)---作用域(1)
这里提到的“作用域”的概念,是一个在范围上与 DOM 结构一致,数据上相对于某个 $scope 对象的属性的概念。我们还是从 HTML 代码上来入手:
wust小吴
2019/07/08
3150
将 Fedora Linux 系统添加到企业域中
在企业互联网场景中,一般情况下最广泛使用的基于 Linux 的操作系统是 Red Hat Enterprise Linux(RHEL),它主要用于服务器,但也可以用作工作站。Fedora linux 其实也是工作站系统的一个很好的选择,它提供了许多在企业环境中工作的特性,使管理成为一项简单的任务。
用户1880875
2021/09/06
1.6K0
angularjs 控制器、作用域、广播详解
一、控制器 首先列出几种我们平常使用控制器时的几种误区: 我们知道angualrJs中一个控制器时可以对应不同的视图模板的,但这种实现方式存在的问题是: 如果视图1和视图2根本没有任何逻辑关系,这样“
柴小智
2018/04/10
1.9K0
angularjs 控制器、作用域、广播详解
AngularJS系列(二)——作用域和控制器
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
逝兮诚
2019/10/30
4450
在 Grub 菜单下添加Clover的启动项进入黑苹果
2、编辑grub的配置文件,以ubuntu举例,编辑 /etc/grub.d/40_custom文件,添加以下内容:
前Thoughtworks-杨焱
2021/12/07
2K0
【AngularJS】 # AngularJS入门
ng-app 指令定义一个 AngularJS 应用程序。 若不声明,将直接显示表达式。
全栈程序员站长
2022/09/15
23.3K0
【AngularJS】 # AngularJS入门
Nat. Mach. Intel. | GPU计算和深度学习在药物发现领域中的变革作用
今天带来的是 Abraham C. Stern 和Artem Cherkasov联合课题组的Mohit Pandey发表在《nature machine intelligence》的评论文章《GPU计算和深度学习在药物发现领域中的变革作用》。
DrugAI
2022/06/10
8680
Nat. Mach. Intel. | GPU计算和深度学习在药物发现领域中的变革作用
angularjs学习第九天笔记(指令作用域【隔离作用域】研究)
您好,昨天学习了指令作用域为布尔型的情况, 今天主要研究其指针作用域为{}的情况 1、当作用域scope为{}时,子作用域完全创建一个独立的作用域,   此时,子做预约和外部作用域完全不数据交互   但是,在实际应用中,子做作用域也还是要和外部数据交互。        为止,引入了数据绑定概念 2、隔离作用域数据绑定有三种方式:  其一、“@”     格式为:       scope{         属性名称:"@"       }     子外作用域数据交互表现: 隔离的子作用域和外部作用域实现单
小小许
2018/08/31
5410
angularjs学习第九天笔记(指令作用域【隔离作用域】研究)
angularjs学习第九天笔记(指令作用域【隔离作用域】研究)
您好,昨天学习了指令作用域为布尔型的情况, 今天主要研究其指针作用域为{}的情况 1、当作用域scope为{}时,子作用域完全创建一个独立的作用域,   此时,子做预约和外部作用域完全不数据交互   但是,在实际应用中,子做作用域也还是要和外部数据交互。        为止,引入了数据绑定概念 2、隔离作用域数据绑定有三种方式:  其一、“@”     格式为:       scope{         属性名称:"@"       }     子外作用域数据交互表现: 隔离的子作用域和外部作用域实现单
小小许
2018/09/20
4070
Angularjs基础(一)
(一) 模型——视图——控制器     端对端的解决方案,AngularJS 试图成为WEB 应用中的一种段对端的解决方案。AngylarJS 的出众       之处如下:数据绑定,基本模板标识符,表单验证,路由,深度连接,组件重用,依赖注入。测试包括       单元测试,段对端测试,模拟和自动化测试框架。 Hello World     <Doctype html>     <html ng-app>       <head lang="en">         <m
用户1197315
2018/01/19
3.1K0
BCDboot_bcdedit添加启动项
BCDboot 是一种用于快速设置系统分区(或修复系统分区)上的启动环境的工具。
全栈程序员站长
2022/11/01
1.2K0

相似问题

在作用域中过滤AngularJS

12

如何从AngularJS作用域中的数组中删除项?

764

从作用域中删除项时使用AngularJS的ngAnimate

11

AngularJS:=&@在指令作用域中的区别?

229

在Angularjs作用域中获取Json数据

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文