2017-02-02 33 views
0

基本上我有2個自定義指令,每個指令都有自己的模板。我需要的是將其中一個模板插入其他模板。我也讀過關於跨越的內容,但是不能把我的頭包裹起來。任何想法都會有很大的幫助!使用1指令模板到另一指令模板

回答

1

從AngularJS網站,一個例子:

<script> 
    angular.module('transcludeExample', []) 
    .directive('pane', function(){ 
     return { 
     restrict: 'E', 
     transclude: true, 
     scope: { title:'@' }, 
     template: '<div style="border: 1px solid black;">' + 
        '<div style="background-color: gray">{{title}}</div>' + 
        '<ng-transclude></ng-transclude>' + 
        '</div>' 
     }; 
    }) 
    .controller('ExampleController', ['$scope', function($scope) { 
    $scope.title = 'Lorem Ipsum'; 
    $scope.text = 'Neque porro quisquam est qui dolorem ipsum quia dolor...'; 
    }]); 
</script> 
<div ng-controller="ExampleController"> 
    <input ng-model="title" aria-label="title"> <br/> 
    <textarea ng-model="text" aria-label="text"></textarea> <br/> 
    <pane title="{{title}}"><span>{{text}}</span></pane> 
</div> 

你必須創建自定義指令,在這種情況下,「窗格」,從內angular.module。當你這樣做的時候,指令就存在於應該是你的應用程序的模塊中,你可以自由地使用它,因爲它是從指令例子返回的。在這種情況下,該示例使用「窗格」指令,並將transcluded模板關聯到它。