首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置有条件的ng类风格适用于所有div?

如何设置有条件的ng类风格适用于所有div?

提问于 2018-05-28 23:17:30
回答 1关注 0查看 216

我有一个显示在模式上的患者的卡号列表。如果卡被设置为默认卡,那么它应该有一个灰色的背景 - 这是基于对象的值为true。

代码语言:javascript
运行
AI代码解释
复制
<td ng-repeat="obj in paymentAndShipping">
            <div ng-click="setDefaultPaymentMethod(obj.ElectronicPaymentAccountType, obj.ElectronicPaymentAccountID)" ng-class="{'chosencard' : obj.PreferredAccount }">
                <span ng-show="obj.PreferredAccount" class="glyphicon glyphicon-ok"></span>
                <p>{{obj.ElectronicPaymentAccountType}} {{trimCardNum(obj.CreditCardNumber)}}</p>
                <p>Exp: {{obj.ExpirationDate}}</p>
            </div>
        </td>

重要部分:

代码语言:javascript
运行
AI代码解释
复制
ng-class="{'chosencard' : obj.PreferredAccount }"

相关的CSS:

代码语言:javascript
运行
AI代码解释
复制
.chosencard {
        background-color: @gray-lighter;
    }

在这里你可以看到我迭代了数组并使用ng-repeat检索对象,然后在表格单元格内的div上应用ng-class,以确定是否应用了样式。

以下是该行为的屏幕截图。

PS:当我点击一个单独的div时,除了我单击的div之外,灰色背景会从其他所有其他div中删除。在上面看到的四个对象中,只有其中一个具有真值,这是最后一张牌。

回答 2

鲁大师

发布于 2018-03-28 08:03:20

正常的赋值操作将简单地将新变量指向现有对象。解释浅拷贝和深拷贝之间的区别:

浅复制和深度复制之间的区别仅适用于复合对象(包含其他对象的对象,如列表或类实例):

  • 浅拷贝构造一个新的复合对象,然后(尽可能)将对原始对象的引用插入其中。
  • 深度复制构造一个新的复合对象,然后递归地将原始对象中的副本插入其中。

下面是一个小小的演示:

代码语言:txt
AI代码解释
复制
import copy

a = [1, 2, 3]
b = [4, 5, 6]
c = [a, b]

使用正常分配操作复制:

代码语言:txt
AI代码解释
复制
d = c

print id(c) == id(d)          # True - d is the same object as c
print id(c[0]) == id(d[0])    # True - d[0] is the same object as c[0]

使用浅拷贝:

代码语言:txt
AI代码解释
复制
d = copy.copy(c)

print id(c) == id(d)          # False - d is now a new object
print id(c[0]) == id(d[0])    # True - d[0] is the same object as c[0]

使用深拷贝:

代码语言:txt
AI代码解释
复制
d = copy.deepcopy(c)

print id(c) == id(d)          # False - d is now a new object
print id(c[0]) == id(d[0])    # False - d[0] is now a new object

晓小峰哦

发布于 2018-03-28 09:07:47

对于不可变对象,不需要复制,因为数据永远不会改变,因此Python使用相同的数据;ID总是相同的。对于可变对象,因为它们可能会更改,浅层复制创建一个新对象。

深拷贝与嵌套结构有关。如果有列表,则深度复制copies嵌套列表也是,因此它是一个递归副本。使用复制,有一个新的外部列表,但内部列表是引用。

任务不复制。它简单地设置了对旧数据的引用。因此,需要复制来创建一个具有相同内容的新列表。

和开发者交流更多问题细节吧,去 写回答
相关文章
深拷贝和浅拷贝
<?php /** *深拷贝、浅拷贝 深拷贝:将被拷贝对象中引用的类一起拷贝 浅拷贝:拷贝对象时,不能够将对象中引用的其他对象进行拷贝 * */ class Test{ pu
码缘
2019/06/03
8400
深拷贝和浅拷贝
深拷贝,deep copy 浅拷贝,shallow copy 举个例子来说,会比较好理解一些。 比如赋值操作:a = b。 把b的值复制一份给a。这就叫做浅拷贝。实际上,我们最常用的赋值操作都是浅拷贝。 我们知道,值b在内存中,除了保存了本身的值之外,还有保存这个值所需要的其他资源,比如堆、栈,或者是其他关于这个值的一些信息。 在赋值操作的时候,同时把b所需要的资源也一同复制一份给a,说白了,就是b所需要的资源,再整一套出来用来存a。这就是深度复制。 简单的来讲,浅拷贝只复制了值;深拷贝,除了复
青木
2018/05/28
8520
【C++】深拷贝和浅拷贝 ① ( 深拷贝与浅拷贝概念简介 | 浅拷贝与深拷贝对比 | 浅拷贝与深拷贝的使用场景 )
浅拷贝场景 : 假设有一个包含 字符串成员变量 的类 , 使用浅拷贝复制该对象时 , 将复制 字符串指针 , 两个对象持有相同的指针变量值 ; 如果对复制的对象的 字符串成员变量 进行修改 , 原始对象的 字符串成员变量 也将被修改 ;
韩曙亮
2023/10/15
3970
JavaScript - 浅拷贝和深拷贝
注: JSON.stringify()转换对象过程中,undefined、任意的函数以及 symbol 值,在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成null(出现在数组中时)。函数、undefined 被单独转换时,会返回 undefined。
愤怒的小鸟
2020/12/14
6620
JavaScript深拷贝和浅拷贝
在JavaScript中操作数据的时候,基础数据类型还好,不管是我们怎么赋值修改都不会有什么问题,但是如果我们操作的是数组或者Object,那很容易出现修改了一个值就会把所有的都给变了,这就是浅拷贝。
wade
2020/04/24
5950
Java深拷贝和浅拷贝
对象拷贝(Object Copy)就是将一个对象的属性拷贝到另一个有着相同类类型的对象中去。在程序中拷贝对象是很常见的,主要是为了在新的上下文环境中复用对象的部分或全部数据。
chengcheng222e
2021/11/04
8430
js浅拷贝和深拷贝的区别_前端面试深拷贝和浅拷贝
基本数据类型:Boolean、String、Number、null、undefined 引用数据类型:Object、Array、Function、RegExp、Date等
全栈程序员站长
2022/11/15
1.2K0
js浅拷贝和深拷贝的区别_前端面试深拷贝和浅拷贝
python浅拷贝和深拷贝
python中的赋值是按引用来传递的,如果不是赋值而是拷贝,那就需要用到copy模块了,这就不得不谈浅拷贝和深拷贝了。
py3study
2020/01/15
4970
java浅拷贝和深拷贝的区别_python的浅拷贝和深拷贝
Java中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。举例说明:比如,对象A和对象B都属于类S,具有属性a和b。那么对对象A进行拷贝操作赋值给对象B就是:B.a=A.a; B.b=A.b;
全栈程序员站长
2022/09/27
4210
python深拷贝和浅拷贝详解_Java浅拷贝和深拷贝的区别
对于元组,使用 tuple() 或者切片操作符 ‘:’ 不会创建一份浅拷贝,相反它会返回一个指向相同元组的引用:
全栈程序员站长
2022/11/01
5690
浅拷贝、深拷贝
浅拷贝是将对象的栈上的属性直接拷贝一份给新对象,基本类型是没有问题的,但引用类型会拷贝一个地址引用,本质使用的还是堆上的同一个对象,修改时会同时发生变化。浅拷贝需要实现 Cloneable接口,不然无法调用clone方法,返回的是Object对象,可在重写中修改返回类型
晚上没宵夜
2021/07/19
9700
JavaScript 深拷贝和浅拷贝
浅拷贝: 拷贝对象的一层属性,如果对象里面还有对象,拷贝的是地址.两者之间修改会有影响 (适用于对象里面属性的值都是简单类型的) 深拷贝:拷贝对象的多层属性,如果对象里面还有对象,也能继续拷贝。使用递归来实现。 浅拷贝 const obj = { name: 'tt', age: 12, love: 'eat' } let newObj = {} for (let k in obj) { newObj[k] = obj[k] } console.log(newObj); 深拷贝 co
且陶陶
2023/04/12
3150
JavaScript 深拷贝和浅拷贝
JavaScript 深拷贝和浅拷贝
在 JavaScript 引用数据类型中,变量保存的是一个指向堆内存的指针,当需要访问引用类型(如对象,数组等)的值时,首先从栈中获得该对象的地址指针,然后再从堆内存中取得所需的数据。
李振
2021/11/26
3370
Java 浅拷贝和深拷贝
Java中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。
用户3467126
2019/09/04
7450
Java 浅拷贝和深拷贝
深拷贝、浅拷贝
在Java中,对象的拷贝分为深拷贝和浅拷贝,这两个概念描述了对象拷贝的方式和效果。
ha_lydms
2023/08/10
4530
深拷贝、浅拷贝
【C++】深拷贝和浅拷贝 ④ ( 深拷贝示例 )
在上一篇博客 【C++】深拷贝和浅拷贝 ③ ( 浅拷贝内存分析 ) 中 , 使用了浅拷贝 , 将 原始对象 Students 赋值给了 拷贝对象 Student s2 ;
韩曙亮
2023/10/15
3360
【C++】深拷贝和浅拷贝 ④ ( 深拷贝示例 )
C# 深拷贝_python的浅拷贝和深拷贝
在本文中,将通过示例讨论C#中的浅拷贝和深拷贝。这是上一篇文章的续篇。因此,在继续本文之前,请阅读以前的文章,其中之前使用示例讨论了C#中的原型设计模式。
全栈程序员站长
2022/11/10
8370
C# 深拷贝_python的浅拷贝和深拷贝
java浅拷贝和深拷贝的区别_js中深拷贝和浅拷贝的区别
浅拷贝:对基本类型的数据是值拷贝,对String类型的拷贝也可以看作是值拷贝,这里不做讨论;
全栈程序员站长
2022/11/15
9560
java浅拷贝和深拷贝的区别_js中深拷贝和浅拷贝的区别
c浅拷贝和深拷贝的区别_js中深拷贝和浅拷贝的区别
先考虑一种情况,对一个已知对象进行拷贝,编译系统会自动调用一种构造函数——拷贝构造函数,如果用户未定义拷贝构造函数,则会调用默认拷贝构造函数。
全栈程序员站长
2022/09/27
7860
c浅拷贝和深拷贝的区别_js中深拷贝和浅拷贝的区别
前端的浅拷贝和深拷贝区别_解构赋值是深拷贝还是浅拷贝
对于浅拷贝来说,比如一个数组(数组是一种对象),只要我们修改了一个拷贝数组,那么原数组也会改变!
全栈程序员站长
2022/11/14
5220
前端的浅拷贝和深拷贝区别_解构赋值是深拷贝还是浅拷贝

相似问题

大佬,cka考试拷贝连接怎么获得?

0111

能否拷贝 github 全量代码,避免被封?

0212

cmake,cmakelist中使用install拷贝别的路径的执行文件、库等怎么使用?

01.6K

2023-07-16:讲一讲Kafka与RocketMQ中零拷贝技术的运用?

082

广州镜像拷贝到上海,系统完全一样,但无法访问mysql数据库了?

025
相关问答用户
中建数科 | 技术总监架构部总经理擅长3个领域
公司公司公司公司公司公司 | 职务职务职务职务职务职务擅长3个领域
擅长5个领域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档