DataBinding支持

时间:2013-04-30 10:35:50

标签: randori

有没有办法实现类似于我们在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。

1 个答案:

答案 0 :(得分:0)

在当前版本中,我们没有包含我们的可观察模式代码(v.2.6)。您将在即将发布的版本中看到这一点,我们期望v.3.0提供全面支持。延迟的原因是兼容性。例如,我们需要实现一些可以包装的东西,以便与SlickGrid的数据模型和剑道相比更好地工作。

也就是说,了解在大多数JavaScript组件中都会公开自己的数据绑定模型。因此,如果您在一组组件(例如Kendo)中工作,则您已经可以使用其可观察对象和数据源以及所有工作。

因此,诀窍(以及randori的难点)不是创建实现。它有一个可以从AS使用,但随后可以与其他组件集共享的应该使用多个库。

一旦发布,列表,模板和其他randori行为将被更新以使用它。

目前,一旦行为改变,将数据重新分配给行为的处罚非常少。

麦克