mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 15:40:22 +00:00
58 lines
1.6 KiB
JavaScript
58 lines
1.6 KiB
JavaScript
'use strict';
|
|
|
|
/**
|
|
* @ngdoc directive
|
|
* @name angular.module.ng.$compileProvider.directive.ng-transclude
|
|
*
|
|
* @description
|
|
* Insert the transcluded DOM here.
|
|
*
|
|
* @element ANY
|
|
*
|
|
* @example
|
|
<doc:example module="transclude">
|
|
<doc:source>
|
|
<script>
|
|
function Ctrl($scope) {
|
|
$scope.title = 'Lorem Ipsum';
|
|
$scope.text = 'Neque porro quisquam est qui dolorem ipsum quia dolor...';
|
|
}
|
|
|
|
angular.module('transclude', [])
|
|
.directive('pane', function(){
|
|
return {
|
|
restrict: 'E',
|
|
transclude: true,
|
|
scope: 'isolate',
|
|
locals: { title:'bind' },
|
|
template: '<div style="border: 1px solid black;">' +
|
|
'<div style="background-color: gray">{{title}}</div>' +
|
|
'<div ng-transclude></div>' +
|
|
'</div>'
|
|
};
|
|
});
|
|
</script>
|
|
<div ng-controller="Ctrl">
|
|
<input ng-model="title"><br>
|
|
<textarea ng-model="text"></textarea> <br/>
|
|
<pane title="{{title}}">{{text}}</pane>
|
|
</div>
|
|
</doc:source>
|
|
<doc:scenario>
|
|
it('should have transcluded', function() {
|
|
input('title').enter('TITLE');
|
|
input('text').enter('TEXT');
|
|
expect(binding('title')).toEqual('TITLE');
|
|
expect(binding('text')).toEqual('TEXT');
|
|
});
|
|
</doc:scenario>
|
|
</doc:example>
|
|
*
|
|
*/
|
|
var ngTranscludeDirective = ngDirective({
|
|
controller: ['$transclude', '$element', function($transclude, $element) {
|
|
$transclude(function(clone) {
|
|
$element.append(clone);
|
|
});
|
|
}]
|
|
});
|