【问题标题】:Bind angular cross iframes, possible?绑定角度交叉 iframe,可能吗?
【发布时间】:2012-12-02 15:22:41
【问题描述】:

有什么方法可以绑定/共享相同的作用域/控制器/指令并将内容放入同一域中的另一个 iframe 中?

如果我也可以在另一个 iframe 中拥有相同的 ngApp,那就太好了。以前有人做过这样的事吗?

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    是的,这是可能的,你不需要做任何特别的事情,你只需要编译内容。

    这里是一个例子: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);
        };
    });
    

    【讨论】:

      猜你喜欢
      • 2021-03-08
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 2015-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多