var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', ['$scope', '$parse',
function($scope, $parse) {
$scope.model = {
nestedModel: {
name: "dat name",
name2: "dat name before"
}
};
var parsedAttrFn = $parse("model.nestedModel.name");
$scope.parsedAttribute = parsedAttrFn($scope);
var parsedAttrFn2 = $parse("model.nestedModel.name2");
parsedAttrFn2.assign($scope, 'dat name after');
$scope.parsedAttribute2 = parsedAttrFn2($scope);
var parsedExpFn = $parse("model.nestedModel.name == 'dat name'");
$scope.parsedExpression = parsedExpFn($scope);
var parsedJSONFn = $parse("{ name: 'dat name tho' }");
$scope.parsedJSON = parsedJSONFn();
$scope.testAttribute = "O HAI";
var parsedLocalFn = $parse("testAttribute");
$scope.parsedLocal = parsedLocalFn($scope, { testAttribute: "NEW VAL LOL" });
}]);
<div ng-app="myApp">
<div ng-controller="MyCtrl">
Hello, {{model.nestedModel.name}}!
<br /><br />
Parsed Attribute: {{ parsedAttribute }}
<br /><br />
Parsed Attribute2: {{ parsedAttribute2 }}
<br /><br />
Parsed Expression: {{ parsedExpression }}
<br /><br />
Parsed JSON: {{ parsedJSON.name }}
<br /><br />
Local overide: {{ parsedLocal }}
</div>
</div>
External resources loaded into this fiddle: