binding data for an observable number in a loop

Is there a way to show stars for each item in a list using the 5-star scoring system on a video interface without creating an array for the score?

interface Video{
    Score: number;
}
<td>
    <span data-bind="foreach: score">
       <span class="glyphicon-star"></span>
    </span>
    <span data-bind="foreach: 5 - score">
       <span class="glyphicon-star-empty"></span>
    </span>
</td>

Answer №1

If you want to convert the score into an array, you have two options. You can either utilize Array.from(), or simply use Array(score).

Array.from({ length: score })

or

[...Array(score)]

(In case of an observable, use score())

Below is a concise demonstration:

const model = {
  score: 3
}

ko.applyBindings(model)
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>

<span data-bind="foreach: Array.from({ length: score })">
   <span class="glyphicon-star">*</span>
</span>

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Transform Sass modules into css during the creation of a component library

I'm in the process of developing a React TypeScript component library that will be utilized in various projects. Currently, I have been using the following script to build this project. "build": "rimraf dist && NODE_ENV=product ...

What is the TypeScript type for a delayed async function call using setTimeout()?

So, I have two functions related to fetching credentials from an external API. The first function simply fetches the credentials: const fetchCredentials= async () => { return await fetch(/* url and params */); }; The second function is a bit mo ...

Securing Your Next.js Web App with Session Authentication

I have encountered a challenge while integrating NextAuth authentication into my React.js web application. To ensure seamless user authentication across the entire app, I am attempting to wrap a SessionProvider around the root component. However, VSCode ...

Is there a simple method I can use to transition my current react.js project to typescript?

I am currently working on a project using react.js and am considering converting it to typescript. I attempted following an article on how to make this conversion but have run into numerous bugs and issues. Is there a simpler method for doing this conver ...

Utilize mapGetter and mapMutations in Vuex with TypeScript without the need for class-style components syntax

After completing a project in Vue, I found myself getting a bit confused without static types. To address this, I decided to incorporate TypeScript into my project while still maintaining the traditional way of writing code, without classes and decorators. ...

What is the reason behind TypeScript mandating the invocation of super() by the inheriting class, even when the parent class does not have

Just starting out with class-based programming, I've been tinkering with a TypeScript API. Here's the scenario: import { Router } from "express"; export default class BaseController { public router = Router(); } and then I create another cl ...

Uncover the value type of a key in TypeScript without using a discriminated union

I want to implement a type map that ensures the type of an object's value for a specific key is determined by the value of another key. For example: type CurrencyValue = { code: string; value: number; }; type FieldMap = { text: string; curren ...

What is the process for implementing an abstract factory pattern in Typescript?

I’m currently facing a challenge while attempting to incorporate a standard abstract factory pattern in Typescript, only to find that the compiler is not quite on board with my efforts. Below is a simplified version of the code I am working with: abstra ...

Images with spaces in their names are failing to load in React Native

I am currently trying to utilize an image within my react native application. At this point, my code is very minimal. The following code snippet is all I have for now: import React from 'react'; import { ScrollView, View, Text } from 'reac ...

Can parameters with identical union types in a function signature be streamlined to contain only the exact same subtypes using generic types?

// defining a type Combinable with string or number as possible values type Combinable = string | number; // function to check if parameter is a string function isString(param: unknown): param is string { return typeof param === "string"; } /** * Func ...

Remove all `Function.prototype` methods from Typescript

Can a callable object (function) be created without utilizing Function.prototype methods? let callableObject = () => 'foo' callableObject.bar = 'baz' callableObject() // 'foo' callableObject // {bar: 'baz'} call ...

New approach in Typescript: Enhancement of child class with additional Event Listener overloads

One of my classes is structured like this: interface A extends EventEmitter{ on(event: "eventA", listener: () => void): this; } There is another class defined as follows: interface B extends A{ on(event: "eventB", listener: ...

Mastering the art of Promises and handling errors

I've been tasked with developing a WebApp using Angular, but I'm facing a challenge as the project involves Typescript and asynchronous programming, which are new to me. The prototype already exists, and it includes a handshake process that consi ...

How do I extract a specific property from an array of objects and assign it to a new array in Typescript 2?

I've got this TypeScript 2 "model" that looks like this: export class MyModel { myProperty1: string; myProperty2: string; ... } In addition to the model, I have another class defined as follows: // Imports excluded for brevity @Component . ...

What is the best way to obtain the current date in Angular and format it as "2021-12-30T18:30:00.000Z"?

Could someone assist me with this issue? I attempted using the code below, but it is displaying a date and time in a format that I did not expect: var str=new Date(); var dt= new Date(str).toISOString(); console.log(dt); The output looks like 2021-12-30T ...

The type `Map<string, enum>` cannot be assigned to `{ [key: string]: enum }`. The indexing signature is not present in the type `Map<string, enum>`

Suppose we have the following: export enum Relationship {} export interface Invitee {} export interface InviteesResponse { invitees: Invitee[]; relationships: { [key: string]: Relationship }; // mapping userIds to relationships } async functio ...

Import and export classes in Typescript

I currently have two separate classes defined in two different files. //a.ts export class A{} //b.ts export class B{} My goal is to create a new file c.ts where I can import both classes seamlessly. import {A, B} from "c"; Instead of having to import ...

What is the best method to extract the values of objects in an array that share

var data= [{tharea: "Rare Disease", value: 3405220}, {tharea: "Rare Disease", value: 1108620}, {tharea: "Rare Disease", value: 9964980}, {tharea: "Rare Disease", value: 3881360}, ...

Attempting to develop a versatile and reusable function to handle a variety of statuses

I've implemented a function in my component that filters records based on a specific status and then displays the count of those records on the screen. {props.locations.filter(x => x.details && x.details.status === "NEVER").length} Currently, the ...

Struggling to enter the command `zip` and accurately anticipating when inference fails in overloaded functions involving generics

There are times when I encounter this issue without understanding why the inference fails. Specifically, zip behaves correctly when directly used, but not when used within pipe, leaving me puzzled. declare const zip: { <A, B>(input: readonly [re ...