Open In App

Ember.js Service setProperties() Method

Last Updated : 26 Dec, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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/



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads