- EmberJS - Home
- EmberJS - Overview
- EmberJS - Installation
- EmberJS - Core Concepts
- Creating and Running Application
- EmberJS - Object Model
- EmberJS - Router
- EmberJS - Templates
- EmberJS - Components
- EmberJS - Models
- EmberJS - Managing Dependencies
- EmberJS - Application Concerns
- EmberJS - Configuring Ember.js
- EmberJS - Ember Inspector
EmberJS-Components Sending Multiple Actions
Description
The component generates multiple different actions to specify different events. You need to specify name of the event as the first argument to sendAction() method.
Syntax
{{user-form submit="action1" cancel="action2"}}
Example
<!DOCTYPE html>
<html>
<head>
<title>Emberjs Sending Multiple Actions</title>
<!-- CDN's -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.1/handlebars.min.js"></script>
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ember.js/1.10.0/ember.min.js"></script>
<script src="https://builds.emberjs.com/tags/v1.10.0-beta.3/ember-template-compiler.js"></script>
<script src="https://builds.emberjs.com/release/ember.debug.js"></script>
<script src="https://builds.emberjs.com/beta/ember-data.js"></script>
</head>
<body>
<script type="text/x-handlebars" data-template-name="index">
<h1>Create New User</h1>
{{user-form submit="createUser" cancel="cancelUserCreation" }}
</script>
<script type="text/x-handlebars" data-template-name="components/user-form">
<form {{action "submit" on="submit"}}>
<p>Name {{input type="text" value=fname}}</p>
<button {{action "cancel"}}>Cancel</button>
<input type="submit" value="Submit User Name">
</form>
</script>
<script type="text/javascript">
App = Ember.Application.create();
App.IndexController = Ember.ObjectController.extend({
actions: {
//calling the multiple actions
//action for creating user
createUser: function(user) {
document.write("Created user: " + user.fname);
},
//action for cancle
cancelUserCreation: function() {
document.write("Canceled user creation");
}
}
});
App.UserFormComponent = Ember.Component.extend({
actions: {
submit: function() {
//simply addind an additional parameters to the sendAction() method as submit
this.sendAction('submit', {
fname: this.get('fname'),
});
},
cancel: function() {
//simply addind an additional parameters to the sendAction() method as cancel
this.sendAction('cancel');
}
}
});
</script>
</body>
</html>
Output
Let's carry out the following steps to see how above code works −
Save above code in comp_mult_actn.htm file
Open this HTML file in a browser.
Advertisements