2012-12-14 17 views
9

Aynı etki alanı/denetleyicileri/yönergeleri ve öğeleri aynı etki alanındaki başka bir iframe içine bağlama/paylaşmanın bir yolu var mı? Başka bir iframe'de aynı ngApp'ye sahip olsaydımKöşeli çapraz iframe mümkün mü?

iyi olurdu. Daha önce böyle bir şey yaptı mı?

cevap

11

Evet, bu mümkün ve özel bir şey yapmanıza gerek yok, sadece içeriği derlemeniz gerekiyor. http://jsfiddle.net/gWgYM/

HTML:

<div ng-app="app" ng-controller="test"> 
    <h1>The date is {{date}}</h1> 
    <iframe frame=""></iframe> 
</div> 

JavaScript:

var app = angular.module('app', []); 

app.controller('test', function($scope) { 
    $scope.date = new Date(); 
    window.setInterval(function() { 
     $scope.date = new Date(); 
     $scope.$apply(); 
    }, 1000); 
}); 

app.directive('frame', function($compile) { 
    return function($scope, $element) { 
     var $body = angular.element($element[0].contentDocument.body), 
      template = $compile('<p>The date in the iframe is {{date}}</p>')($scope); 
     $body.append(template); 
    }; 
}); 
İşte

bir örnektir