AngularJS Live Example
by wwwroot
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div ng-controller="InitCtrl" >
<div compile-data template="{{newTransaction}}">
</div>
<script id="deleteTemplate" type="text/x-jquery-tmpl">
<button id="createHost" class="btn btn-mini btn-success" ng-click="create()">Create</button>
</script>
JavaScript
var fessmodule = angular.module('myModule', []);
fessmodule.controller('InitCtrl', function ($http,$scope, tempService) {
$scope.newTransaction = $("#deleteTemplate").html();
$scope.create = function () {
alert("in create");
};
});
fessmodule.$inject = ['$http', '$scope','myTplService'];
fessmodule.directive( 'compileData', function ( $compile ) {
return {
scope: true,
link: function ( scope, element, attrs ) {
var elmnt;
attrs.$observe( 'template', function ( myTemplate ) {
if ( angular.isDefined( myTemplate ) ) {
// compile the provided template against the current scope
elmnt = $compile( myTemplate )( scope );
element.html(""); // dummy "clear"
element.append( elmnt );
}
});
}
};
});
fessmodule.factory( 'tempService', function () {
return function () {
return '<button id="createHost" class="btn btn-mini btn-success" ng-click="create()">Create</button>';
};
});