【问题标题】:Knockout data-bind if else condition剔除数据绑定 if else 条件
【发布时间】:2013-11-12 14:54:59
【问题描述】:

在我当前的项目中,我有一个淘汰赛绑定,应根据收到的值为真或假的值应用布局高度。以下是我的绑定代码

data-bind="style: {height: showOld ? '392px' : '275px'}"

showOld 正确地给出了truefalse,但是,无论它返回什么,它总是采用392px。如果showOld 给出true,那么392px 应该返回否则275px 应该返回。非常感谢任何解决此问题的帮助。

谢谢

【问题讨论】:

    标签: javascript data-binding knockout.js


    【解决方案1】:

    如果您的showOldko.observable,那么您需要编写showOld()(因为ko.observable 是一个函数)以在您的表达式中获取它的值:

    data-bind="style: {height: showOld() ? '392px' : '275px'}"
    

    来自documentation

    读取 observable 的当前值,只需调用 observable 没有参数。

    要向可观察对象写入一个新值,请调用可观察对象并将新值作为参数传递。例如,调用myViewModel.personName('Mary') 会将名称值更改为“Mary”。

    【讨论】:

    • 别担心...无论您使用 Knockout 的频率如何,您总会发现自己有时会忽略“()”。关键是要知道在没有其他可能的情况下寻找它。使用 ko.debug.js 参考也很有用...在抛出绑定错误的地方,您可以查看“节点”参数,并在内联 ko 绑定的情况下准确查看悲伤来自什么/来自哪里。
    猜你喜欢
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 2019-07-01
    • 1970-01-01
    相关资源
    最近更新 更多