javascript - Knockout.js 相当于 AngularJS 事件

标签 javascript angularjs knockout.js

在 AngularJS 中,当你有嵌套作用域(例如两个嵌套指令)时,你可以使用 scope.$broadcast()scope.$emit() 轻松地在它们之间进行通信。 Knockout.js 中的嵌套组件(自定义元素)之间是否有一种简单的方法进行通信?

最佳答案

不。 KnockoutJS 中没有这样的东西。

如果你需要它来做某种事件/发布-订阅的事情,你需要包含这样一个库来满足你的特定目的,例如knockout-postbox或其他事件系统(我猜你可以模仿一个或使用普通js和Knockout制作一个穷人的版本)。

如果您认为需要它,因为更改 View 模型时 View 没有更新,那么您可能应该用实际的可观察量替换 View 模型的普通 Javascript 成员。与 Angular(使用摘要循环)相反,KnockoutJS 具有依赖性跟踪,它将通知依赖于特定其他部分的“范围”的每个部分。

关于javascript - Knockout.js 相当于 AngularJS 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32632966/

相关文章:

javascript - 是否可以将 Handlebars 模板编译为 html?

javascript - 如何从 Nodejs 应用程序以 cronjob 的形式发送 ejs 文件作为 HTML 电子邮件

javascript - ngRepeat 内的动态 ngModel 对象属性

javascript - AngularJS 应用程序 : how can I fetch date from the view and use it in the controller?

angularjs - 我们可以在 $compile 中使用 ng-transclude 吗?

javascript - toJSON View 模型覆盖在 Knockout 取消映射后未反射(reflect)出来

javascript - Knockout - 更新 View 模型中的 observableArray

javascript - 如何阻止我的 React Native 测试在 Node Modules 中的 Flow 类型上轰炸?

javascript - 如何在Angular js Controller 中获取返回过滤器数组数据?

javascript - X-Editable 更改后 Knockout Subscribe 不触发