knockoutjs 变量引用方式、怪异问题排查
问题:使用knockoutjs的过程中,有时候会发现一些奇怪的现象:譬如字段值改了后,相关引用的地方不起作用!即相关画面效果没有跟着动态变化。
排查:
- 从javascript控制台中查看是否有脚本错误,脚本错误可能会导致knockoutjs后续脚本不执行
- 在表达式中引用变量值时,必须以方法调用的方式来引用,不能直接使用变量名的方式来引用,不然可能导致上述问题!!!总结:可以直接使用变量名引用值的地方都可以使用方法调用的方式来引用值,反之不行!
- 移除无关控件,看是否是其他控件中的一些错误用法导致的
- javascript中alert相关变量的值
例子:
// knockoutjs 正确用法,单个判断条件或者变量绑定(非表达式)时,即可以直接使用变量名来引用变量值、也可以使用方法调用的方式来引用变量值 <div data-bind="visible:!booleanVar()">content</div> <div data-bind="visible:booleanVar">content</div> <input type="text" data-bind="value:valueVar,css:{disabled:cssVar}" /> // 正确用法,多个判断条件(表达式中引用变量值)时,必须使用方法调用的方式来引用变量值 <div data-bind="visible:(booleanVar() && booleanVar())">content</div> // 错误用法,多个判断条件(表达式中引用变量值)时,直接使用变量名来引用变量值的地方,都会[color=red]导致knockoutjs自动更新失效!!![/color] <div data-bind="visible:booleanVar && booleanVar">content</div> <div data-bind="visible:booleanVar() && booleanVar">content</div>
相关推荐
firefaith 2020-10-30
Erick 2020-11-17
xuebingnan 2020-11-05
Android开发CXY 2020-11-11
拉斯厄尔高福 2020-11-04
小飞侠V 2020-11-02
yutian0 2020-10-26
牧 2020-10-22
佐杰 2020-10-22
文山羊 2020-10-20
积少成多 2020-10-21
yuwinter 2020-10-14
Mars的自语 2020-09-27
Radar 2020-09-26
楼上小宇home 2020-09-26
Mynamezhuang 2020-09-18
归去来兮 2020-09-18
ltd00 2020-09-12
libao 2020-09-16