Question

Je suis en train de mettre un contenu dans un modèle pour être visible que si l'élément étant rendu est le « étape ».

Voici le code à ce jour, je veux être en mesure de rendre une partie seulement du modèle interne si l'élément de données a rendu ID == window.viewModel.activeObject.

<section data-bind='template: { name: "categoryTemplate", foreach: categories }'></section>

<script type="text/html" id="categoryTemplate">
    <section>
        <h2>${Name}</h2>
        <section data-bind='template: { name: "objectTemplate", foreach: Objects }'></section>
    </section>
</script>
<script type="text/html" id="objectTemplate">
    <article>
        <h3>${Name}</h3>

      (only render this if the object rendered has ID equal to viewModel.activeObject)
        {{html Text}}

    </article>
</script>
<script>
    $(document).ready(function(){
        window.viewModel = { categories : <asp:Literal runat="server" ID="LiteralJSON" />,
            activeCategory: ko.observable(0),
            activeObject: ko.observable(0)
        };

        ko.applyBindings(window.viewModel);
    });
</script>

Comment dois-je procéder?

Était-ce utile?

La solution

Vous aurez envie d'utiliser {if}{/if}

<script type="text/html" id="objectTemplate">
    <article>
        <h3>${Name}</h3>
        {if $item.data.id === viewModel.activeObject()}
        {{html Text}}
        {/if}
    </article>
</script>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top