当儿童可观察到的更新时,淘汰赛js css似乎没有重新计算

事物

我对Knockout相当陌生,我想尽一切办法观察可观察物和计算可观察物。

更新:JS Fiddle:http : //jsfiddle.net/tQ576/4/带有运行但损坏的示例。当在输入框中输入内容时,Label的标签应变为绿色。

我有一个像这样的模型:

var json = {
    name: 'Testing',
    items: [{
        question: 'Question 1',
        answer: '',
        isrequired: true,
        isvisible: true,
        complexObject: {
            FirstName: '',
            LastName: '',
            Email: ''
        }
    }, {
        question: 'Question 2',
        answer: '',
        isrequired: true,
        isvisible: true,
        complexObject: {
            FirstName: '',
            LastName: '',
            Email: ''
        }
    }]
};

var ViewModel = function () {
    var self = this;
    self.profile = ko.observable(new Profile(json));
};

var Profile = function (init) {
    var self = this;
    self.name = ko.observable(init.name);
    self.items = ko.observableArray([]);
    for (var i = 0; i < init.items.length; i++) {
        self.items.push(new ProfileItem(init.items[i]));
    }
};

var ComplexObject = function () {
    var self = this;
    self.name = ko.observable("");
    self.email = ko.observable("");
}

var ProfileItem = function (item) {
    var self = this;
    self.question = ko.observable(item.question);
    self.answer = ko.observable(item.answer);
    self.complexObject = ko.observable(new ComplexObject());
    self.isvisible = ko.observable(item.isvisible);
    self.isrequired = item.isrequired;
    self.cssclasses = ko.computed(function () {
        if (self.complexObject().Email != undefined && self.complexObject().Email().length > 0) {
            return "satisfied";
        } else {
            return "required";
        }
    });
};

ko.applyBindings(new ViewModel());

然后在我的html中,我有这样的模板:

<div data-bind="foreach: profile().items">
    <div data-bind="css: cssclasses">
        <span data-bind="text: question"></span><br />
        <div data-bind="with: complexObject">
            <input data-bind="value: email" />
        </div>
    </div>
</div>
<div data-bind="text: ko.toJSON($root)"></div>

似乎当为“电子邮件”更新值时,cssclasses的计算值将永远不会重新计算。有办法强制重新计算吗?

最好的问候,并感谢大家的帮助。

JS小提琴:http//jsfiddle.net/tQ576/4/

事物

第45章

如果您email在计算中没有大写字母,它将起作用。小提琴

更改self.complexObject().Email !== undefined && self.complexObject().Email().length > 0)self.complexObject().email !== undefined && self.complexObject().email().length > 0)-因为这就是您在视图模型和数据绑定中拥有它的方式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

淘汰赛计算可观察到的参数

来自分类Dev

通过访问observableArray计算出可观察到的淘汰赛

来自分类Dev

可观察到淘汰赛更新

来自分类Dev

使用可观察数组计算出的淘汰赛未更新

来自分类Dev

淘汰赛:找出计算出的可观察触发

来自分类Dev

更新扩展程序中可观察到的淘汰赛js时如何保留光标位置

来自分类Dev

带有字符的淘汰赛追加可观察对象

来自分类Dev

在淘汰赛 js 中保持属性不可观察 vs 可观察有什么好处吗?

来自分类Dev

淘汰赛可观察到的表演

来自分类Dev

淘汰赛移除率从可观察到的限制

来自分类Dev

淘汰赛可观察到的最新价值

来自分类Dev

淘汰赛-添加了可观察到的不更新新对象的功能

来自分类Dev

淘汰赛可观察到的数组,更改事件获得更新的项目值

来自分类Dev

选择的下拉值更改时,可观察到的淘汰赛未更新

来自分类Dev

淘汰赛-添加了可观察到的未在新对象上更新的功能

来自分类Dev

可观察到淘汰赛-为什么此值会自动更新?

来自分类Dev

选择的下拉值更改时,可观察到的淘汰赛未更新

来自分类Dev

淘汰赛:可以在没有参数的情况下调用可观察的扩展程序吗?

来自分类Dev

淘汰赛订阅/事件类型系统没有可观察的?

来自分类Dev

淘汰赛js observableArray没有得到更新

来自分类Dev

将recaptcha响应放入可观察到的js淘汰赛中

来自分类Dev

重新评估仅取决于可观察数组的淘汰赛

来自分类Dev

重新评估仅取决于可观察数组的淘汰赛

来自分类Dev

是否让淘汰赛计算对象订阅不在初始执行路径中的可观察对象?

来自分类Dev

是否让淘汰赛计算对象订阅不在初始执行路径中的可观察对象?

来自分类Dev

淘汰赛:Ajax调用后无法映射计算的可观察物

来自分类Dev

如何使“独立”计算的可观察到的某些可观察到的(Knockout.js)

来自分类Dev

当无法观察到淘汰赛或禁用JS时显示默认值

来自分类Dev

使用ko.mapping.fromJS更新异步ajax调用后可观察到的淘汰赛

Related 相关文章

  1. 1

    淘汰赛计算可观察到的参数

  2. 2

    通过访问observableArray计算出可观察到的淘汰赛

  3. 3

    可观察到淘汰赛更新

  4. 4

    使用可观察数组计算出的淘汰赛未更新

  5. 5

    淘汰赛:找出计算出的可观察触发

  6. 6

    更新扩展程序中可观察到的淘汰赛js时如何保留光标位置

  7. 7

    带有字符的淘汰赛追加可观察对象

  8. 8

    在淘汰赛 js 中保持属性不可观察 vs 可观察有什么好处吗?

  9. 9

    淘汰赛可观察到的表演

  10. 10

    淘汰赛移除率从可观察到的限制

  11. 11

    淘汰赛可观察到的最新价值

  12. 12

    淘汰赛-添加了可观察到的不更新新对象的功能

  13. 13

    淘汰赛可观察到的数组,更改事件获得更新的项目值

  14. 14

    选择的下拉值更改时,可观察到的淘汰赛未更新

  15. 15

    淘汰赛-添加了可观察到的未在新对象上更新的功能

  16. 16

    可观察到淘汰赛-为什么此值会自动更新?

  17. 17

    选择的下拉值更改时,可观察到的淘汰赛未更新

  18. 18

    淘汰赛:可以在没有参数的情况下调用可观察的扩展程序吗?

  19. 19

    淘汰赛订阅/事件类型系统没有可观察的?

  20. 20

    淘汰赛js observableArray没有得到更新

  21. 21

    将recaptcha响应放入可观察到的js淘汰赛中

  22. 22

    重新评估仅取决于可观察数组的淘汰赛

  23. 23

    重新评估仅取决于可观察数组的淘汰赛

  24. 24

    是否让淘汰赛计算对象订阅不在初始执行路径中的可观察对象?

  25. 25

    是否让淘汰赛计算对象订阅不在初始执行路径中的可观察对象?

  26. 26

    淘汰赛:Ajax调用后无法映射计算的可观察物

  27. 27

    如何使“独立”计算的可观察到的某些可观察到的(Knockout.js)

  28. 28

    当无法观察到淘汰赛或禁用JS时显示默认值

  29. 29

    使用ko.mapping.fromJS更新异步ajax调用后可观察到的淘汰赛

热门标签

归档