knockout.js 而不使用特定的DIV元素来获得上下文模型?

lo8azlld  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(75)

在某些地方(不多),我需要了解上下文。我可以让它像这样工作:如果您是一个系统管理员,那么您可以使用以下方法来创建一个系统管理器:
但是,我的问题是如何避免对这样的元素进行硬编码?在本例中是#systemTreeDiv?

zu0ti5jz

zu0ti5jz1#

我不认为有一种方法可以避免它。如果有一种方法,你就不需要首先使用“contextFor”了。
您之所以需要这个contextFor调用,可能正是因为您无法通过编程方式从执行上下文访问模型,并且也无法将相关元素作为参数传递,否则您只能将所需的模型作为参数/依赖项传递给需要它的代码,而不是通过contextFor获取模型。
您将不得不重新构造代码,以便通过将所需的模型作为参数(或者至少是绑定到的元素,这样您就不必对它进行硬编码)传递来避免需要以这种方式获取上下文。
只要您不传递模型本身或至少不传递元素,唯一真实的的解决方案仍然是重新构造代码...
实际的答案真的很难,因为这个问题是如此广泛,你指的是“一些地方”,但每个地方都可能有不同的答案,如何获得上下文到/从你的代码库中的地方。

相关问题