-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于knockout知识点整理 #113
Comments
二、Observables
你根本不需要对View进行更改,所有的data-bind语法依然正常工作。所不同的是,现在它能够自动检测变化,并通知它自动更新界面(View)。 |
三、1.计算属性 Computed Observable
你可以添加一个计算属性来返回全名,例如:
下面你就可以将它绑定到UI对象上了,如: |
三、2.Computed Observable 依赖跟踪是如何工作的
所以说,KO并不仅仅是在第一次执行计算函数时检测你的依赖项,它每次都会检测。这意味着,你的依赖是可以动态的,举例来说:依赖A能决定你是否也依赖于B或C,这时候只有当A或者你选择的B或者C发生变化时计算函数才能运行。你不需要定义依赖关系:在代码运行时会自动检测到。 |
四、一种简化的流行惯例
由于self在闭合的方法内部也是可以捕获到的,所以在任何嵌套函数当中,它仍然可用并保持一致性。 如ko.computed求值,当涉及到事件处理时它依然显得很有用。 |
五、html绑定
|
一、激活Knockout:applyBindings
使用KO创建一个View Model,仅仅只需要声明一个JavaScript对象,例如:
var myViewModel = {personName: 'Bob',personAge: 123};
data-bind属性并不是HTML固有对象,但使用它是完全正确的(这是完全遵守HTML5,尽管有验证器指出这是一个无法验证的属性,但在HTML4当中使用是不会造成任何问题的)。但浏览器并不知道它是什么意思,所以你需要激活Knockout来使其生效。
激活Knockout,只需要将下面的代码加到<script>标签中就可以了:
你可以将这个代码放到文档底部,或者放在顶部包含在DOM处理完成诸如JQuery的$函数方法中。
下面介绍下ko.applyBindings操作时使用的是什么样的参数:第一个参数是你想激活KO时用于声明式绑定的View Model对象;第二个参数(可选),你可以使用第二个参数来设置要使用data-bind属性的HTML元素或容器。例如:
ko.applyBindings(myViewModel, document.getElementById('someElementId'))
它限制了只有ID为someElementId的元素才能激活使用KO功能,当你在一个页面中声明了多个View Model来绑定不同的界面区域时,这样限制是很有好处的。The text was updated successfully, but these errors were encountered: