- 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-Template Action Bubbling
Description
Route's and controller's action handler must be placed inside an actions hash. If the route method and actions have the same name, then action will not be triggered unless it is inside an actions hash. You must put an action handling methods inside an actions hash.
Syntax
Ember.Route.extend({
actions: {
FunctionName: function() {
//use the controller.set method
this.controller.set('isExpanded', true);
}
}
});
Example
<!DOCTYPE html>
<html>
<head>
<title>Emberjs Action Bubbling</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">
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="index">
<!-- invoking the actions 'User' function for Click Here button -->
<button {{action "User"}}>Click Here</button>
<!-- triggering isExpanded value -->
<br/> {{isExpanded}}
</script>
<script type="text/javascript">
App = Ember.Application.create()
App.IndexRoute = Ember.Route.extend({
actions: {
User: function(user) {
//controller.set is for the Action Bubbling
this.controller.set('isExpanded', 'Welcome.. To Tutorialspoint');
}
}
});
</script>
</body>
</html>
Output
Let's carry out the following steps to see how above code works:
Save above code in temp_act_bublng.htm file
Open this HTML file in a browser.
Advertisements