问题标签 [dirty-checking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - c# 将类属性标记为脏
下面是一个简单的枚举示例,它定义了一个对象的状态和一个显示该枚举实现的类。
当用数据库中的数据填充类对象时,我们将枚举值设置为“clean”。为了将大部分逻辑排除在表示层之外,我们如何在属性更改时将枚举值设置为“脏”。
我在想一些类似的事情;
在类的每个属性的设置器中。
这听起来像一个好主意吗,是否有人对如何分配脏标志有更好的想法,而无需在表示层中这样做。
java - Hibernate 4 字节码增强不适用于脏检查优化
我使用的是 Hibernate 4.3.6,并使用了最新的Maven 字节码增强功能来检测所有实体的自我肮脏意识。
我添加了 Maven 插件:
我看到我的实体正在得到增强:
在调试时,我正在检查org.hibernate.event.internal.DefaultFlushEntityEventListener#dirtyCheck
方法:
并且$$_hibernate_hasDirtyAttributes()
总是返回false。
这是因为$$_hibernate_attributeInterceptor
始终为空,所以在设置任何属性时:
因为$$_hibernate_getInterceptor()
为 null,trackChange 将被绕过,因此字节码增强不会解决脏属性,并且将使用默认的深度比较算法。
我错过了什么?如何$$_hibernate_attributeInterceptor
正确设置,以便字节码检测方法跟踪脏属性?
vb.net - 检查是否有任何控件已更改并在表单关闭时保存数据
我们正在使用 vb.net/dev express 工具。我们有几个控件文本框、组合等...而不是检查每个更改的值,我们想要遍历所有控件并检查是否已编辑任何内容,然后在表单关闭时保存。下面是我尝试完成的一些代码。问题是,虽然它在技术上有效......它使用递归 AddDirtyEvent(c) ,所以当我关闭表单并单击是保存时......由于多个控件它多次调用该消息框......如果我接受out ,它将无法工作并检测脏更改。我只是想知道我怎样才能让它以我想要的方式工作,或者是否有更简单的方法......
angular - 用candeactive实现角度材质对话框
在candeactive中实现angular 4材质对话框时面临的问题
每当我从一个页面导航到另一个页面时,如果表单字段有任何更改,我需要指出“有未保存的数据。你要关闭吗”。这应该会出现带有确定和取消按钮的确认窗口。
单击确定后,它应该导航到其他页面,否则它必须在同一页面中。我已经尝试过使用candeactive,当我使用window.confirm时它可以正常工作
但我的要求是使用 Angular 材质对话框实现确认窗口。 https://material.angular.io/components/dialog/overview
问题是在从 afterClosd 检索结果之前。它返回 false。因此,每当我在对话框中单击“确定”或“取消”时,它都不会移动到另一个屏幕。
java - Spring数据 - 实体未更新
我有一个实体Customer
和 Spring 数据接口,CustomerRepository
如下所示:
我将Customer
对象保存在数据库中,然后像这样更新一个字段:
我不明白为什么会打印:Customer(id=1, name=John, surname= Smith )。
据我所知,Hibernate 使用dirty checking
机制来更新处于持久状态的实体。所以更改的姓氏应该在事务结束期间传播到数据库(但它不会 - 即使我将此代码分成两个@Transactional
方法)。难道我做错了什么?每次更改后我真的需要save
手动反对吗?为什么数据库中的姓氏字段没有更新?
jquery - 如何检查文本框是否脏
您好以下是我的html代码
我只想在 abc 文本框中输入一些值时启用 loader_green_32.gif。$dirty 是不可能的,因为我没有使用表单标签
hibernate - Hibernate 返回最后一次获取和修改的对象,而不是获取新的
我的问题是这个。生病尝试使它简单。我正在使用带有 mysql 的 spring data jpa +spring boot (hibernate config)。
我有一个像这样的类(实体)。
这里其他类
请注意,您可以假设所有缺少的注释/方法/id 都在那里,这是完美的工作代码。我没有在这里添加这些以避免使问题复杂化。
这是我的问题。
当我从数据库中获取此 A 对象时,我将其添加到映射 [storageMap] 并在程序期间从 storageMap 中读取的 A 对象及其 B 对象值字段(A 对象映射中的 B 对象)获取更新。
但我的问题是当我再次从数据库中获取 A 时,它给了我之前获取的脏(修改)对象。但我需要从数据库中获取新副本来重置所有修改。hibernate 不知道它是脏的,因为它的 @Transient ?我怎么能解决这个问题。(我知道如果我在添加到我的 storageMap 之前深度复制从数据库返回的内容会解决问题。还有其他更好的方法吗?)
vuejs2 - 如何在 VueJs 中实现脏状态
我是 VueJs 的新手,我正在开发一个表单,我只想Save
在模型发生更改时启用按钮。
我最初的想法是compute
将初始模型与当前模型进行比较的脏函数。
注意:此代码未经测试,此处仅作为示例。
有没有更好的方法来做到这一点,或者您可以对上述代码提出任何改进建议?
angular - 如何检查 ngModel 输入字段是否脏?
我有这个 HTML 模板:
如何检查 my.component.ts 文件中的此字段是否脏?
现在我在 my.component.ts 文件中只有这个基本代码:
kendo-ui - 在剑道甘特图中设置 IsDirty 字段
在这样一个简单的例子中 - https://dojo.telerik.com/UViBAZAP如何将字段标记为脏?我想先进行更改,然后一次保存。
编辑 - 我希望 UI 上的字段显示它已被编辑。就像它在剑道网格中一样。