So as of Angular 1.1.4, you can have a dynamic template url. From here,
templateUrl - Same as template but the template is loaded from the specified URL
templateUrl: function (elem, attrs) { return attrs["template"] == "table" ? "tableTemplate.html" : "itemTemplate.html"; }