Giter Site home page Giter Site logo

access iteration index about jsrender HOT 13 CLOSED

cyburk avatar cyburk commented on June 14, 2024
access iteration index

from jsrender.

Comments (13)

BorisMoore avatar BorisMoore commented on June 14, 2024 1

It is available: {{=$itemNumber}}. You'll see it used in several samples, such as https://github.com/BorisMoore/jsrender/blob/master/demos/step-by-step/01_inserting-data.html
http://borismoore.github.com/jsrender/demos/step-by-step/01_inserting-data.html
[But see below for update. Syntax has changed...]

from jsrender.

cyburk avatar cyburk commented on June 14, 2024

hi boris,

thank you for your attention. i had a close look at your examples (just to
avoid my current position).
i haven't noticed the $, that's how i thought that itemNumber, Name, and
ReleaseYear all came from data:

{{=$itemNumber}}: {{=Name}} ({{=ReleaseYear}})

maybe {{=$ctx.index}} might be clearer, but the functionality is there, the
rest is personal taste.

thank you very much.
burk

On Wed, Dec 7, 2011 at 12:24 AM, Boris Moore <
[email protected]

wrote:

It is available: {{=$itemNumber}}. You'll see it used in several samples,
such as
https://github.com/BorisMoore/jsrender/blob/master/demos/step-by-step/01_inserting-data.html

http://borismoore.github.com/jsrender/demos/step-by-step/01_inserting-data.html


Reply to this email directly or view it on GitHub:
#33 (comment)

from jsrender.

kanejoe avatar kanejoe commented on June 14, 2024

Hi Boris

   <li><a href="#">{{=page}}</a></li>
{{#each arrPages}}
    <li<a href="#">{{=page}}: {{=$itemNumber}}</a></li>             
{{/each}}

I can't access the {{=page}} within the each loop. Is this possible?

thanks, Joe.

from jsrender.

BorisMoore avatar BorisMoore commented on June 14, 2024

#34 says it all...

from jsrender.

kanejoe avatar kanejoe commented on June 14, 2024

brilliant, thanks

from jsrender.

XianHain avatar XianHain commented on June 14, 2024

Is there a way to print a zero-based index?

I'm looking for something like

{{#each}}
    <div id="myBlock_{{=$zeroIndex}}">
{{/each}}

from jsrender.

BorisMoore avatar BorisMoore commented on June 14, 2024

For now, you have to call a helper function to do $itemNumber-1, but in Beta bits (coming soon I hope) it will be zero-based, and you will also be able to increment or decrement inline. In fact you will be able to write {{:#index}} for zero-based and {{:#index+1}} for 1-based. But more on that when the update is available... [See below for update]

from jsrender.

XianHain avatar XianHain commented on June 14, 2024

Thanks! much appreciated.

Christian Hain

On Feb 22, 2012, at 8:37 PM, Boris Moore wrote:

For now, you have to call a helper function to do $itemNumber-1, but in Beta bits (coming soon I hope) it will be zero-based, and you will also be able to increment or decrement inline. In fact you will be able to write {{:#index}} for zero-based and {{:#index+1}} for 1-based. But more on that when the update is available...


Reply to this email directly or view it on GitHub:
#33 (comment)

from jsrender.

BorisMoore avatar BorisMoore commented on June 14, 2024

Some changes have been made the design.
#key corresponds to what was #index, and #index is now the inherited integer index from what the nearest parent view that has an integer index.
So #index is now unchanged when you wrap {{:#index}} in an {{if}} block.

from jsrender.

BorisMoore avatar BorisMoore commented on June 14, 2024

Further update: To access a zero-based index from an 'item' view, use {{:#index}}. To access the index from nested contexts such as {{if}} blocks, use {{:#getIndex()}}

from jsrender.

trifolius avatar trifolius commented on June 14, 2024

hey @BorisMoore have a range o for but decreasing...
for example

"{^{range members ^start=10 ^end=1}}"+
"{^{:#index}}"+
"{{/range}}"+

from jsrender.

BorisMoore avatar BorisMoore commented on June 14, 2024

@trifolius: Hi. What is your question?

from jsrender.

BorisMoore avatar BorisMoore commented on June 14, 2024

@trifolius: You should be able to create a custom tag to do that. You can use a combination of the approach used for the {{sort}} example, here: http://www.jsviews.com/#samples/jsr/tags/wrap-content and here: http://www.jsviews.com/#samples/jsr/helpers
and the {{range}} tag shown here: http://www.jsviews.com/#samples/jsr/tags/extend-for and here: http://www.jsviews.com/#samples/tag-controls/range

from jsrender.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.