Ember.js Service set() Method
Last Updated :
26 Apr, 2025
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 set() method is used to change the value of a given property to a specified value.
Syntax:
set(key,value)
Parameters:
- key: The property whose value is to be changed.
- value: The new value.
Returns: The passed value.
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 = "Change 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/