javascript - Knockoutjs View 定位器?

标签 javascript mvvm knockout.js

我想知道是否有任何方法可以在我的 html 中定义一个区域(div 标签?),其中模板根据它绑定(bind)到的对象而变化?

假设我们有一个

  • ShellView/ShellViewModel
  • ListView / ListView 模型
  • EditOneView/EditOneViewModel

ShellViewModel 有一个变量,它可以是 ListViewModel 或 EditOneViewModel,根据该变量,将使用 ListView 或 EditOneView。

最佳答案

是的。您可以将一个函数传递给模板绑定(bind)中的 name 属性,该函数将选择要使用的函数:

<div data-bind='template: { name: whichTemplate }'></div>

var ShellViewModel = {
    //....

    whichTemplate: function(object) {
        // test which class you are using and return the name of the appropriate template
    }
}

关于javascript - Knockoutjs View 定位器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13012788/

相关文章:

javascript - Express中间件错误

javascript - 如何同时搜索 vendor 名称?

JSON 中的 Javascript 函数名称?

c# - 来自 ViewModel 和 DispatchTimer 的 RelayCommand

c# - DataGrid ComboBox 第一次点击时没有选中项

wpf - 寻找一些关于使用 MVVM 创建最佳实践单元测试的良好引用

javascript - Knockout.js——理解 foreach 和 with

javascript - 使用 Knockout.js 将 Canvas 绑定(bind)到 UI

多个链接的Javascript动画?

knockout.js - 使用 observable 插件创建 2 路自定义绑定(bind)