`
desert3
  • 浏览: 2160689 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

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>
分享到:
评论

相关推荐

    KnockoutJS

    **KnockoutJS**,简称KO.js,是一个轻量级的JavaScript库,专注于MVVM(Model-View-ViewModel)设计模式,使得在Web开发中实现数据绑定和动态用户界面变得简单易行。它通过双向数据绑定特性,允许开发者在视图和模型...

    KnockoutJs 帮助文档 中文手册

    可观察对象是KnockoutJS的核心组成部分,它们是能够监听和响应变化的变量。当你创建一个可观察对象,你可以订阅它的变化,当其值改变时,订阅的函数会被调用。 ### 验证和模板 KnockoutJS也提供了验证功能,允许...

    [KnockoutJS] KnockoutJS 入门教程 (英文版)

    [Packt Publishing] KnockoutJS 入门教程 (英文版) [Packt Publishing] KnockoutJS Starter (E-Book) ☆ 出版信息:☆ [作者信息] Eric M. Barnard [出版机构] Packt Publishing [出版日期] 2012年11月23日 ...

    KnockoutJS Essentials(PACKT,2015)

    KnockoutJS is a Model View ViewModel (MVVM) framework that allows you to simplify the design of complex user. Knockout makes data manipulation simple and leads to maintainable web applications. ...

    Asp.Net MVC 4 KnockoutJS 框架实例

    总的来说,Asp.Net MVC 4与KnockoutJS的组合提供了一种强大而灵活的开发方式,它允许开发者专注于业务逻辑和用户体验,而不必过于关心底层的DOM操作和数据同步。通过深入理解和熟练掌握这两个技术,你可以构建出高...

    knockoutjs2.1.0

    knockoutjs,前台MVVM模式实现框架。knockoutjs能使前台数据源与html页面分离开来,让程序员专注于数据的变化。详情请参照knockoutjs.com。本文件于2012-7-31下载于knockout官方网站,版本号2.1.0

    KnockoutJS中文文档新

    **KnockoutJS** 是一个轻量级的MVVM(Model-View-ViewModel)JavaScript库,主要用于构建富交互的Web应用程序。它通过数据绑定和依赖跟踪机制,使得开发者能够更轻松地管理DOM(Document Object Model)与应用程序...

    KnockoutJS Web Development(PACKT,2015)

    Starting with the installation and configuration of KnockoutJS, this book will describe the ins and outs of working with forms using arrays, nesting, and grids. You will learn about event binding and...

    KnockoutJS 官方文档汉化版

    KnockoutJs官方文档汉化完整版+Knockout精品文章,绝对超值

    js knockoutjs 全国省市区三级联动

    JavaScript 和 KnockoutJS 是两种广泛应用于前端开发的技术。在网页应用中,经常需要实现省市区三级联动的效果,即用户选择一个省份后,市和区的数据会根据所选省份动态加载和更新。这种功能提升了用户体验,使得...

    WebApi+Bootstrap+KnockoutJs打造单页面程序

    3. KnockoutJs是一个让开发者可以使用模型-视图-视图模型(Model-View-ViewModel,简称MVVM)模式的JavaScript库,这样可以通过声明式的绑定数据来构建富交互的Web应用程序。 SPA的优点包括: - 用户体验更好:...

    KnockoutJs_帮助文档_中文手册 chm

    **KnockoutJS** 是一个轻量级的JavaScript库,专为构建富客户端应用程序而设计。它使用MVVM(Model-View-ViewModel)模式,帮助开发者实现数据绑定和动态界面更新,大大简化了DOM操作。这个"KnockoutJs_帮助文档_...

    KnockoutJS_3.xx版本

    Knockout(简称KO)是一个JavaScript库,可以帮助您用干净的底层数据模型创建丰富的反应迅速显示和编辑用户界面。任何时候你有UI的部分是动态更新(例如,根据用户的行为或者外部数据源的变化而变化),用KO可以帮助...

    KnockoutJS-i18n:一个简单的 KnockoutJS i18n 模块

    KnockoutJS-i18n 当前版本:0.2 依赖:KnockoutJS KnockoutJS-i18n 是一个简单的 KnockoutJS 模块,用于在您的 KO 网站中启用多语言。 KnockoutJS-i18n 使用 observable 或计算来创建和管理您的 Web 应用程序中的...

    KnockoutJS学习文档中文版

    网上这方面的资料很少,找了大半天才找到这么一个.希望对大家有用

    knockoutjs2.0入门.docx

    然而,KnockoutJS通过数据绑定机制解决了这个问题。你只需要定义数据模型,然后将模型与HTML元素绑定,当模型发生变化时,相应的视图会自动更新,反之亦然。这极大地减少了维护和调试代码的工作量。 例如,如果你有...

    MVC Knockoutjs Bootstrap简单框架

    Knockout 使用 JavaScript ViewModel 实现了 MVVM 模式. 在 MVC 中还有一个很棒的因素是从 Javascript 模型序列化为 ...最后,它节省了我大量的时间,只需要很少的测试,几乎没有浏览器的问题,节约了一半的开发时间。

Global site tag (gtag.js) - Google Analytics