如何使用Knockout JS循环等运行常规/普通JavaScript代码

How to run regular/normal JavaScript code with Knockout JS loops etc

本文关键字:常规 普通 JavaScript 代码 运行 何使用 Knockout JS 循环      更新时间:2023-09-26

假设您有一个简单的Knockout循环

<!-- ko foreach: data -->
    <div ... show something </div>
<!-- /ko -->

我想在循环的每次迭代中运行一些额外的JavaScript代码(只是想把这些代码放在视图中,而不是模型中)。不确定使用script标记是否合适,我认为如果代码在淘汰模板中,这将不起作用,因为它已经包含在script标记中了。

在其他一些情况下,我可以在knockout视图中运行正常的JavaScript代码,这将是有用的。这不是我经常想做的事情,但在极少数情况下,如果我可以使用常规JS而不是更改其他内容,那会更容易。

你不应该这么做。

原因是,您将混合业务逻辑和数据,而这不应该发生。

您可以使用afterAdd处理程序在foreach期间执行函数

<!-- ko foreach: { data: data, afterAdd: myhandler } -->
    <div ... show something </div>
<!-- /ko -->

希望这能有所帮助。