Actions are incredibly useful parts of Ember, they provide a very simple interface for communicating events and changes. They are triggered by the actions of users, they are called by templates upon the action of a user. See Ember Guide on Actions.

As applications evolve, you may find that you want to trigger an action programatically. There is a private ember class that makes this possible. EMBER.TARGETACTIONSUPPORT Is a mixin that can be applied to a controller / component which provides an interface similar to the way that the templates work.

import Ember from 'ember';

export default Ember.Controller.extend(Ember.TargetActionSupport, {
  appName: '',
  
  init: function() {
    this.triggerAction({
      action:'changeTitle',
      target: this
    });
  },
  
  actions: {
    changeTitle: function() {
      this.set('appName', 'Trigger Actions!');
    }
  }
});

Ember Twiddle