Every AtomControl has atom-next property. This property will either hold string, object or reference to function referred as "Action Set", which will be invoked when a default operation is executed. For example, on AtomButton, atom-next will be invoked after clicking that button. And in case of AtomForm, atom-next will be invoked after the form post was successful to give url.
Action Set can also be invoked on any HTML Element event, explained in the next section.
When contents of Action Set is set to pure string, it is assumed to be a URL and current page will be redirected to the String Content URL.
Object Literal Action consists of object literal notation with scope, appScope and data properties containing object literals. Each object literal is merged with respective owner's properties. For example { scope: { a: 10 } } will cause scope.setValue('a',10) to be executed, which will set 10 for 'a' property in the scope.
Note: Outer curly braces mark expression as one time binding, actual expression starts within the braces, thats why you see two sets of curly braces to create an object literal in binding expression.
When contents of Action Set is a function, function will be executed whenever Action Set will be executed. Function will receive current Scope and current Sender (owner) of the element. If this action set was invoked during response of an event, then it will receive third argument as jQuery event object.
In case if you want to combine multiple action sets, you can just put them in an array and it will be executed one after another whenever it is needed to be executed.
This example is little complicated, because we are performing two operations as an array. In this case, each item of array is considered as an Action Set and they are invoked in given sequence. However, we have used one way binding, because we want to increment value of "v", and it is set as, everytime button is clicked, scope's v property is set to current scope's v + 1.