render just injects strings into the dom. You'd be better off defining the template using the templateName
or template
parameter like so:
App.AssetValuationComponent = Ember.Component.extend({
// Id of the element for tracking
elementId: '1234',
template :Ember.Handlebars.compile("<div class='asset-valuation-box'><button {{action 'alerttitle' topic }}>Click me!</button></div>"),
// Classes to apply to the element
// classNames: ['asset-valuation-box'],
actions: {
alerttitle: function (topic) {
console.log(this);
console.log(topic);
}
}
});