Here is how I have implemented it.
I have an angular directive that calls the timelineJS code to modify the dom (I'm not an angularjs expert by a longshot, but that seems to be the pattern others recommend).
HTML
<div ng-app="StoryUniverse" ng-controller="EventsListCtrl">
<div id="my-timeline" timeline-js></div>
</div>
Angular Directive
app.directive('timelineJs', function ($timeout) {
return {
restrict: 'A',
link: function (scope, elem, attrs) {
postpone = $timeout(function() {
createStoryJS({
type: 'timeline',
width: '800',
height: '600',
source: scope.events,
embed_id: 'my-timeline',
css: 'lib/timelinejs/css/timeline.css',
js: 'lib/timelinejs/js/timeline.js'
});
}, 0);
console.log("Running timelineJS");
}
}
});