有没有办法实现类似于我们在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";
});
}
}
}
人类
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。
答案 0 :(得分:0)
在当前版本中,我们没有包含我们的可观察模式代码(v.2.6)。您将在即将发布的版本中看到这一点,我们期望v.3.0提供全面支持。延迟的原因是兼容性。例如,我们需要实现一些可以包装的东西,以便与SlickGrid的数据模型和剑道相比更好地工作。
也就是说,了解在大多数JavaScript组件中都会公开自己的数据绑定模型。因此,如果您在一组组件(例如Kendo)中工作,则您已经可以使用其可观察对象和数据源以及所有工作。
因此,诀窍(以及randori的难点)不是创建实现。它有一个可以从AS使用,但随后可以与其他组件集共享的应该使用多个库。
一旦发布,列表,模板和其他randori行为将被更新以使用它。
目前,一旦行为改变,将数据重新分配给行为的处罚非常少。
麦克