2013-04-30 5 views
0

Есть ли способ реализовать привязку данных, аналогичную тому, что у нас есть в Flex?Поддержка DataBinding

Я заметил, что в lesson 9 поддерживается поддержка DataBinding с использованием простого механизма шаблонов, но как только я обновляю свою модель, эти изменения не распространяются на мое представление.

[Update] Это мой посредник

package mediators 
{ 

    import randori.behaviors.AbstractMediator; 
    import randori.behaviors.SimpleList; 
    import randori.jquery.Event; 
    import randori.jquery.JQuery; 

    /** 
    * Created by IntelliJ IDEA. 
    * User: jfernandes 
    * Date: 23-04-2013 
    * Time: 14:54 
    */ 
    public class IndexMediator extends AbstractMediator 
    { 
     [View] 
     public var names:SimpleList; 

     [View] 
     public var change:JQuery; 
     private var Mike : People = new People("Mike"); 
     private var Roland : People = new People("Roland"); 

     override protected function onRegister():void { 

      names.data = [Mike,Roland]; 
      change.click(function(event:Event):void 
      { 
       this.Mike.name = "Mike Lambriola"; 
      }); 
     } 

    } 
} 

Люди класса

package 
{ 

    /** 
    * Created by IntelliJ IDEA. 
    * User: jfernandes 
    * Date: 30-04-2013 
    * Time: 12:52 
    */ 
    public class People 
    { 
     public function People(name:String) 
     { 
      this.name = name; 
     } 
     public var name:String=""; 
    } 
} 

индекс тела

<body class="simpleApp"> 
<ul id="names" class="simpleList"> 
    <li id="template">{name}</li> 
</ul> 

<input id="change" value="Change values" type="button"/> 
</body> 

При нажатии на кнопку я не вижу имя Майка быть обновлено до Майка Ламбриолы.

+1

Не могли бы вы выслать код за то, что вы пробовали? – Dutts

ответ

0

В текущей версии мы не включили наш наблюдаемый код шаблона (v.2.6). Вы увидите, что это включено в ближайшие выпуски, и мы ожидаем полной поддержки v.3.0. Причина задержки - совместимость. Нам нужно было внедрить что-то, что можно обернуть для того, чтобы работать одинаково хорошо с моделью данных SlickGrid по сравнению с Kendo's, например.

Это означает, что в большинстве компонентов JavaScript выставляют свою собственную модель для привязки данных. Итак, если вы работаете в одном наборе компонентов, например Kendo, вы уже можете использовать свои наблюдаемые объекты и DataSources и все работает.

Итак, трюк (и трудная часть для рандори) не создает реализацию. Имея тот, который можно использовать с AS, но затем можно использовать совместно с другими наборами компонентов, вы должны использовать несколько библиотек.

После того, как это будет выпущено, список, шаблон и другие действия randori будут обновлены, чтобы использовать его.

На данный момент очень мало штрафа за переназначение данных поведением после его изменения.

Mike