2013-03-19 1 views
1

Моего приложение основано на нокаут и большая проблема для меня выглядит следующим образом:Приложить нокаут в родительском файле и использовать его в IFRAME

  1. Я приложил требуется JS файлов в главном родительском файле
  2. I Я использовал подход для обращения к этим файлам в iFrame. Например, jQuery определяется только в родительском и просто ссылается на него из iframe, определяя его объект в iframe.
  3. Аналогичным образом я могу определить объект нокаута и использовать его, но ВЫДАЧА - это то, что привязки на странице iframe не работают
  4. Если я использую предупреждение, чтобы проверить, работают ли функции нокаута или нет, он работает , Только поля формы и привязки данных не работают

Любая подсказка?

Вот код: Родитель файл (под голову):

<script type="text/javascript" src="Scripts/jquery-1.8.2.min.js"></script> 
<script type="text/javascript" src="Scripts/jquery-ui-1.8.20.min.js"></script> 

(по телу)

<iframe src="IframePage.html" width="100%" height="100%" id="popUpIframe" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto"></iframe> 

Iframe Файл:

<script type="text/javascript"> 
    var $ = parent.$; 
    var ko = parent.ko;  
    $(document).ready(function() { 
     var ViewModel = function (first, last) { 
      this.firstName = ko.observable(first); 
      this.lastName = ko.observable(last); 

      this.fullName = ko.computed(function() { 
       alert(this.firstName() + " " + this.lastName()); 
       return this.firstName() + " " + this.lastName(); 
      }, this); 
     };   
     ko.applyBindings(new ViewModel("Kawal", "Babra")); 
    }); 
</script> 
<p>First name: <input data-bind="value: firstName" /></p> 
<p>Last name: <input data-bind="value: lastName" /></p> 
<h2>Hello, <span data-bind="text: fullName"> </span>!</h2> 

ответ

0

Просто зр ecify корневой элемент как элемент в документе iframes, например:

ko.applyBindings(Model, document.body);

Вот рабочий пример: http://jsfiddle.net/rD8uR/

Вот IFrame документ: http://fiddle.jshell.net/KkPdE/show/light/

+0

Благодаря Бадди, он помог мне много. Работала после настройки настроек. Ну, строка var $ = parent. $; не работает, поскольку кажется, что jquery не импортируется. –

+0

Отметьте мой ответ как правильный, если это вам помогло :) – badsyntax

Смежные вопросы