有没有办法实现类似于Flex中的数据绑定?
我注意到在lesson 9中支持使用简单的模板引擎的dataBinding,但是一旦我更新了我的模型,这些更改就不会传播到我的视图中。
更新:这是我的中介人
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";
});
}
}
}People类
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>通过点击按钮,我没有看到Mike的名字被更新为Mike Lambriola。
发布于 2013-05-01 01:54:14
在当前的发布版本中,我们还没有包含我们的可观察模式代码(v.2.6)。您将在即将发布的版本中看到这一点,我们预计v.3.0将提供全面支持。延迟的原因是兼容性。例如,我们需要实现一些可以包装的东西,以便与SlickGrid的数据模型和Kendo的数据模型一样好地工作。
也就是说,请理解,在大多数JavaScript组件中,都会公开自己的数据绑定模型。因此,如果您在一组组件中工作,例如Kendo,您已经可以使用它们的observable对象和DataSources以及所有工作。
所以,诀窍(也是randori最难的部分)不是创建一个实现。它有一个可以在AS中使用的库,但如果您使用多个库,则可以与其他组件集共享。
一旦发布,列表、模板和其他randori行为将被更新以使用它。
就目前而言,一旦行为发生变化,将数据重新分配给该行为几乎不会有什么影响。
麦克
https://stackoverflow.com/questions/16297824
复制相似问题