Ember.js RouterService setProperties() Method
Ember.js is an open-source JavaScript framework used for developing large client-side web applications which is based on Model-View-Controller (MVC) architecture. Ember.js is one of the most widely used front-end application frameworks. It is made to speed up development and increase productivity. Currently, it is utilized by a large number of websites, including Square, Discourse, Groupon, Linked In, Live Nation, Twitch, and Chipotle.
The setProperties() method is used to change the value of multiple properties.
Syntax:
setProperties(hash)
Parameters:
- hash: The hash of keys and the values to which they needed to be changed.
Return Value: The passed hash object.
Steps to Install and Run Ember.js:
Step 1: To run the following examples, you will need to have an ember project with you. To create one, you will need to install ember-cli first. Write the below code in the terminal:
npm install ember-cli
Step 2: Now, you can create the project by typing in the following piece of code:
ember new <project-name> --lang en
To start the server, type:
ember serve
Example 1: Type the following code to generate the route for this example:
ember generate route students
app/route/students.js
Javascript
import Route from '@ember/routing/route' ; import EmberObject from '@ember/object' ; const Student = EmberObject.extend({ }); export default class StudentsRoute extends Route { student; createStudent() { let student = Student.create({ name: 'Alix Mainston' , gender: 'F' , class: 9, grade: 'B' , marks: 98, pocket_money: 9643, }); return student; } changeDetails(student) { student.setProperties({ pocket_money: 10000, gender: 'M' }) } model() { this .student = this .createStudent(); this .changeDetails( this .student) return this .student; } setupController(controller, model) { super .setupController(controller, model); controller.set( 'student' , this .student); } } |
app/template/students.hbs
HTML
{{page-title "Students"}} < h1 >Details:</ h1 > < div >Name: {{this.student.name}}</ div > < div >Gender: {{this.student.gender}}</ div > < div >Class: {{this.class}}</ div > < div >Grade: {{this.student.grade}}</ div > < div >Marks: {{this.student.marks}}</ div > < div >Pocket Money: {{this.student.pocket_money}}</ div > {{outlet}} |
Output:
Example 2: Type the following code to generate the route for this example:
ember generate route details
app/route/details.js
Javascript
import Route from '@ember/routing/route' ; import EmberObject from '@ember/object' ; const Person = EmberObject.extend({}); export default class DetailsRoute extends Route { person; createPerson() { let person = Person.create({ name: 'Anubhav' , mobile: '1298119967' , age: 20, salary: 10000, city: 'Patna' , country: 'India' , gender: 'M' , zipCode: '800020' , }); return person; } changeDetails(person) { let newAge = 51; let newCountry = 'England' ; let update = { age: newAge, country: newCountry, } person.setProperties(update); } model() { this .person = this .createPerson(); this .changeDetails( this .person); return this .person; } setupController(controller, model) { super .setupController(controller, model); controller.set( 'person' , this .person); } } |
app/template/details.hbs
HTML
{{page-title "Details"}} < h1 >Person</ h1 > < div >Name: {{this.person.name}}</ div > < div >Age: {{this.person.age}}</ div > < div >Salary: {{this.person.salary}}</ div > < div >Gender: {{this.person.gender}}</ div > < div >Zip Code: {{this.person.zipCode}}</ div > < div >Country: {{this.person.country}}</ div > < div >Mobile: {{this.person.mobile}}</ div > {{outlet}} |
Output:
Reference: https://api.emberjs.com/ember/4.7/classes/RouterService/methods
Contact Us