Various Expression Options in Angular

List of various options for expressions in Angular

by Jeremy Likness

HTML

<div ng-app="myApp">{{test1}}, {{test2}}
    <button ng-click="compile()">Compile</button>
</div>
<div id="compileDiv">{{m.a}} is equal to {{m.b}}</div>

JavaScript

(function () {
    var app = angular.module("myApp", []);
    app.run(['$rootScope', '$parse', '$interpolate', '$compile',

    function ($rs, $parse, $interpolate, $compile) {
        var myObj = {
            a: 1,
            b: 2
        },
        parseA = $parse('a'),
            parseB = $parse('b'),
            interpolate = $interpolate('{{a}} is equal to {{b}}');
        $rs.test1 = parseA(myObj) + " is equal to " + parseB(myObj);
        $rs.test2 = interpolate(myObj);
        $rs.compile = function () {
            var scope = $rs.$new();
            scope.m = myObj;
            $compile(angular.element(document.getElementById('compileDiv')))(scope);
        };
    }]);
})();