- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
jsfiddle链接:http://jsfiddle.net/T8ee7/
当我调用Knockout的subscription方法时,是否可以同时获取以前的值和新的值?现在,我只能单独调用get这些值。
如果新旧值不同,我想触发一些代码。
我想我可以做以下事情,但是会变得凌乱...
(http://jsfiddle.net/MV3fN/)
var sv = sv || {};
sv.PagedRequest = function (pageNumber, pageSize) {
this.pageNumber = ko.observable(pageNumber || 1);
this.numberOfPages = ko.observable(1);
this.pageSize = ko.observable(pageSize || sv.DefaultPageSize);
};
var _pagedRequest = new sv.PagedRequest();
var oldValue;
_pagedRequest.pageNumber.subscribe(function (previousValue) {
console.log("old: " + previousValue);
oldValue = previousValue;
}, _pagedRequest, "beforeChange");
_pagedRequest.pageNumber.subscribe(function (newValue) {
console.log("new: " + newValue);
if (oldValue != newValue) {
console.log("value changed!");
}
});
_pagedRequest.pageNumber(10);
_pagedRequest.pageNumber(20);
最佳答案
我更喜欢使用observable extender。
http://jsfiddle.net/neonms92/xybGG/
扩展器:
ko.extenders.withPrevious = function (target) {
// Define new properties for previous value and whether it's changed
target.previous = ko.observable();
target.changed = ko.computed(function () { return target() !== target.previous(); });
// Subscribe to observable to update previous, before change.
target.subscribe(function (v) {
target.previous(v);
}, null, 'beforeChange');
// Return modified observable
return target;
}
// Define observable using 'withPrevious' extension
self.hours = ko.observable().extend({ withPrevious: 1 });
// Subscribe to observable like normal
self.hours.subscribe(function () {
if (!self.hours.changed()) return; // Cancel if value hasn't changed
print('Hours changed from ' + self.hours.previous() + ' to ' + self.hours());
});
关于knockout-2.0 - 淘汰赛2.2.0,在更改之前订阅获取值和新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14076865/
我用 microsoft word(查找和替换)解决了 python 挑战 #2,但是当我使用 python 时,我失败了,因为这段代码不起作用... with open("C:\\Python34\
我检查了许多样本,但没有一个与我正在尝试做的完全相同。 我的工作主要是有效的,但它并不完全正确。 这里有一个 fiddle 来说明这个问题。 http://jsfiddle.net/5yA6G/4/
我用 Knockout 做了什么,我正在尝试用 Angular 做些什么。 在我当前的项目中,我有一个表格,其中数据正在通过滚动事件添加。当用户向下滚动时,我在表的末尾添加 20 行,总行数可以达到
您在 Trigger.io 中成功使用了什么 JavaScript 框架?我的意思是客户端 JS 应用程序框架,如 Backbone、Knockout、ember、angular? 我们在这里使用 a
刚刚更新到 vs2012 更新 2,但我注意到 html 中任何敲除部分的文本颜色都发生了变化。它们有非常浅的灰色背景,这使得阅读非常困难。我无法在 Visual Studio 选项的字体和颜色部分找
我是一名优秀的程序员,十分优秀!