那里有很多毫无意义的jQuery,但是$ compile服务在这种情况下实际上 非常简单 :
.directive( 'test', function ( $compile ) { return { restrict: 'E', scope: { text: '@' }, template: '<p ng-click="add()">{{text}}</p>', controller: function ( $scope, $element ) { $scope.add = function () { var el = $compile( "<test text='n'></test>" )( $scope ); $element.parent().append( el ); }; } };});您会注意到,我也重构了您的指令,以便遵循一些最佳实践。如果您有任何疑问,请告诉我。



