2012-12-14 24 views
9

Có cách nào bạn có thể liên kết/chia sẻ cùng phạm vi/bộ điều khiển/chỉ thị và nội dung trong iframe khác trong cùng một tên miền không?Bind iframe chéo góc, có thể?

sẽ thật tuyệt nếu tôi có thể có cùng một ứng dụng trong một iframe khác. Có ai đã làm bất cứ điều gì như thế này trước đây không?

Trả lời

11

Có thể thực hiện được và bạn không cần phải làm gì đặc biệt, bạn chỉ cần biên dịch nội dung.

Dưới đây là một ví dụ: 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); 
    }; 
}); 
Các vấn đề liên quan