5

<tr>現在、テーブル行テンプレートを<tbody>タグに伝播しようとしています。次に例を示します。

HTML:

<table>
    <tbody data-bind="template: { name : 'tableTemplate', foreach : tableRow }">
    </tbody>
</table>
<script type="text/html" id="tableTemplate">
    <tr>
        <!-- First Name -->
        <td data-bind="text: firstName"></td>
        <!-- Last Name -->
        <td data-bind="text: lastName"></td>
    </tr>                        
</script>

DurandalJS:

define(function(require) {
    var self = this;
    self.app = require('durandal/app');

    return {
       tableRow: ko.observableArray([
           { firstName: "DemoFirstName" , lastName: "ExampleLastName" },
           { firstName: "ExampleFirstName", lastName: "DemoLastName" }
       ]);

    //viewAttached and other non-applicable console log functions here
    };
});

HTML内のすべては、テーブルに到達するまで適切にデータバインドされます。その後、すべてのデータバインドが無効になります。

私はデュランダルにかなり慣れていません、そして私が行くにつれて学んでいます。

4

4 に答える 4

8

私は同じ問題に遭遇し、Durandal google group で答えを掘り下げました。私は私の質問に結果をここに投稿しました。 KO は ID を持つテンプレートを見つけることができません

基本的に、名前付き/ID 付きの Knockout テンプレートはまだ使用できません。サポートされていません。ニュースグループの Durandal 開発者によると、サポートは間もなく開始される可能性があります。回避策は、インラインまたはデュランダルの作成機能を使用することです。

于 2013-03-28T19:43:37.730 に答える
2

テンプレートアプローチの代わりにこれを試してみたいかもしれません:

<table>
  <tbody data-bind="foreach: tableRow">
    <tr>
      <!-- First Name -->
      <td data-bind="text: firstName"></td>
      <!-- Last Name -->
      <td data-bind="text: lastName"></td>
    </tr>                        
  </tbody>
</table>
于 2013-03-24T18:15:43.637 に答える
0

を試す必要composeがありdurandalます。ここに文書化してください

于 2015-04-30T17:29:18.733 に答える
0

KO テンプレートは Durandal ではうまく機能しないようです - 代わりに View Composition を使用してください (Durandal の作成者はここに投稿しています) - https://github.com/BlueSpire/Durandal/pull/50

ここにいくつかの宣伝文句があります: KO は ID を持つテンプレートを見つけることができません

于 2013-07-01T10:41:43.260 に答える