Ember.js Service 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.
Returns: 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
Step 3: 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/controllers/students.js
Javascript
import Ember from 'ember' ; export default Ember.Controller.extend({ name: 'Alix Mainston' , gender: 'F' , class: 9, grade: 'B' , pocket_money: 9643, pass: true , newName: '' , newGender: '' , actions: { setName(val) { this .set( 'name' , val); }, setGender(val) { this .setProperties({ 'gender' : val }) }, togglePass() { this .toggleProperty( 'pass' ); }, }, }); |
app/template/students.hbs
HTML
{{page-title "Students"}} < h1 >Details:</ h1 > < div >Name: {{this.name}}</ div > < div >Gender: {{this.gender}}</ div > < div >Class: {{this.class}}</ div > < div >Grade: {{this.grade}}</ div > < div >Pocket Money: {{this.pocket_money}}</ div > < div >Pass: {{if this.pass "Yes" "No"}}</ div > < br />< br /> < div > < label >Enter Name: </ label > {{input value=this.newName}} </ div > < input type = "button" id = "set-name" value = "Change Name" {{action "setName" this.newName}} /> < br />< br /> < div > < label >Enter Gender: </ label > {{input value=this.newGender}} </ div > < input type = "button" id = "set-gender" value = "Change Gender" {{action "setGender" this.newGender}} /> < br />< br /> < input type = "button" id = "click-here" value = "Click Here to Ruin Career!" {{action "togglePass"}} /> {{outlet}} |
Output:
Example 2: Type the following code to generate the route for this example:
ember generate route details
app/controllers/details.js
Javascript
import Ember from 'ember' ; export default Ember.Controller.extend({ name: 'Anubhav' , mobile: '1298119967' , age: 20, salary: 10000, city: 'Patna' , country: 'India' , gender: true , zipCode: '800020' , newName: '' , newAge: '' , newSalary: '' , actions: { setName(val) { this .set( 'name' , val); }, changeDetails(val1, val2) { this .setProperties({ 'age' : val1, 'salary' : val2 }); }, toggleGender() { this .toggleProperty( 'gender' ); }, }, }); |
app/template/details.hbs
HTML
{{page-title "Details"}} < div >{{this.name}}</ div > < div >{{this.age}}</ div > < div >{{this.salary}}</ div > < div >{{if this.gender "MALE" "FEMALE"}}</ div > < div >{{this.zipCode}}</ div > < br />< br /> < div > < label >Enter Name: </ label > {{input value=this.newName}} </ div > < input type = "button" id = "set-name" value = "set Name" {{action "setName" this.newName}} /> < br />< br /> < div > < label >Enter Age: </ label > {{input value=this.newAge}} </ div > < div > < label >Enter Salary: </ label > {{input value=this.newSalary}} </ div > < input type = "button" id = "changeDetails" value = "Change Details" {{action "changeDetails" this.newAge this.newSalary}} /> < br />< br /> < input type = "button" id = "toggle-gender" value = "Toggle Gender" {{action "toggleGender"}} /> < br />< br /> {{outlet}} |
Output:
Reference: https://api.emberjs.com/ember/4.7/classes/Service/methods/
Contact Us