好了,我管理,如果有人有興趣推測這一個與這些以前的問題的組合:
Is it possible to update angularjs expressions inside of an iframe?
Access AngularJS service from a service inside a different frame
Angularjs: call other scope which in iframe
我所做的是創建iframe作爲單獨的Angular應用程序。要發送的範圍的iframe應用程序,我用下面的代碼中我主要的應用程序控制器:
snippetsCtrl.updateIframe = function() {
document.getElementById('iframe').contentWindow.updatehtml(snippetsCtrl.snippet.html);
document.getElementById('iframe').contentWindow.updatecss(snippetsCtrl.snippet.css);
};
然後在iframe app.js文件我用下面的代碼檢索到的數據添加到這個範圍應用程序。
var app = angular.module('iframeApp', ['ngSanitize']);
app.controller('iframeCtrl', function ($scope) {
$scope.html = "<h1>Add Code to see preview here</h1>";
$scope.css = '';
window.updatehtml = function (snippet) {
$scope.$applyAsync(function() {
$scope.html = snippet;
});
};
window.updatecss = function (snippet) {
$scope.$applyAsync(function() {
$scope.css = snippet;
});
};
})
這基本上是我如何得到它的工作,它有點混亂,但現在我覺得就可以了。
我遇到的一個問題是使用$ scope。$ apply,沒有任何工作,直到我更新到$ applyAsync,不知道爲什麼。