Angular: Change action in run-time

http://angularjs.org/

by Deeksha Pandit

HTML

<script type="text/javascript" ng:autobind src="http://code.angularjs.org/0.10.6/angular-0.10.6.js"></script>

<ul>
    <li ng:repeat="item in items">{{item}}</li>
</ul>

<button ng:click="action()">{{actionLabel}}</button>

change action to: <a ng:repeat="(name, action) in actions" ng:click="changeActionTo(name)">{{name}} </a>

JavaScript

function Main() {
    this.items = [1, 2, 3, 4, 5, 6,7];

    this.actions = {
        add: function() {
            this.items.push(1);
        },
        remove: function() {
            this.items.pop();
        }
    };

    this.changeActionTo('add');
};

Main.prototype.changeActionTo = function(name) {
    this.action = this.actions[name];
    this.actionLabel = name;
};