Ember.js Service toggleProperty() 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 toggleProperty() method is used to negate the value of a boolean property.
Syntax:
toggleProperty(key)
Parameters:
- key: The property whose value is to be negated.
Returns: The new property 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
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'); }, }, }); |
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/
Contact Us