I am trying to make a directive inside another directive (not sure if the repeater works inside the template), and it seems that it simply displays as text, and does not compile the directive (here plunker code: http://plnkr.co/edit/IRsNK9 )
Any ideas on how I can get it to correctly display the directives my-dir-one, my-dir-two, my-dir-three inside the repeater?
index.html
<!doctype html> <html ng-app="plunker" > <head> <meta charset="utf-8"> <title>AngularJS Plunker</title> <link rel="stylesheet" href="style.css"> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.js"></script> <script src="app.js"></script> <script id="partials/addressform.html" type="text/ng-template"> partial of type {{type}}<br> </script> </head> <body> <div container></div> <br /><br /><br /> <b>Below is just to test the directives are actually usable outside the repeater</b> <div my-dir-one></div> <div my-dir-two></div> <div my-dir-three></div> </body> </html>
app.js
var app = angular.module('plunker', []); app.directive('container', function () { return { restrict: 'A', scope: {}, replace: true, template: '<div class="views">' + ' <div class="view" ng-repeat="view in views">' + ' <div {{view.dir}}>{{view.dir}}</div>' + ' </div>' + '</div>', link: function (scope, elm) { scope.views = [ { dir: 'my-dir-one' }, { dir: 'my-dir-two' }, { dir: 'my-dir-three' } ]; } } }); app.directive('myDirOne', function () { return { restrict: 'A', scope: {}, replace: true, template: '<div>This is directive one.</div>' } }); app.directive('myDirTwo', function () { return { restrict: 'A', scope: {}, replace: true, template: '<div>This is directive two.</div>' } }); app.directive('myDirThree', function () { return { restrict: 'A', scope: {}, replace: true, template: '<div>This is directive three.</div>' } });
romiem
source share