1

バインドされているオブジェクトに応じてテンプレートが変化する、html でエリア (div タグ?) を定義する方法があるかどうか疑問に思っていましたか?

私たちが持っているとしましょう

  • ShellView / ShellViewModel
  • ListView / ListViewModel
  • EditOneView / EditOneViewModel

また、ShellViewModel には、ListViewModel または EditOneViewModel のいずれかである変数があり、その変数に応じて、ListView または EditOneView が使用されます。

4

1 に答える 1

4

はい。使用する関数を選択するテンプレート バインディングの 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
    }
}
于 2012-10-22T13:53:30.847 に答える