Javascript 在JSView(commit 26)中绑定到表单的正确语法

Javascript 在JSView(commit 26)中绑定到表单的正确语法,javascript,jsrender,jsviews,Javascript,Jsrender,Jsviews,我正在试验Boris Moore的jsrender/jsviews库,目前正在使用当前版本(commit 26)。(我知道API在不断变化,但我想练习使用它) 我已经看过这里的演示: 但是我很难确定数据链接的语法。在一些演示中,语法是data link=“{:FirstName:} 我不明白为什么会有两个冒号。我假设第一个冒号意味着不会进行HTML编码,但我不知道第二个冒号 在其他地方,我可以看到像data link=“address.street”这样的语法,这里根本没有大括号或冒号。我想知

我正在试验Boris Moore的jsrender/jsviews库,目前正在使用当前版本(commit 26)。(我知道API在不断变化,但我想练习使用它)

我已经看过这里的演示:

但是我很难确定
数据链接的语法。在一些演示中,语法是
data link=“{:FirstName:}

我不明白为什么会有两个冒号。我假设第一个冒号意味着不会进行HTML编码,但我不知道第二个冒号

在其他地方,我可以看到像
data link=“address.street”
这样的语法,这里根本没有大括号或冒号。我想知道你什么时候需要它们,什么时候不需要它们。我也不知道你会如何指定是要单向绑定还是双向绑定。或者你是否希望绑定触发以响应按键而不是模糊

下面是一个我想正确设置的示例:

<div id="form">
    <p>
        <label>First Name</label>
        <input type="text" name="FirstName" data-link="FirstName"/>
    </p>
    <p>
        <label>Last Name</label>
        <input type="text" name="LastName" data-link="LastName"/>
    </p>
    <p>
        <label>Full Name</label>
        <input type="text" data-link="FirstName + ' ' + LastName"/>
    </p>
    <p>
        <label>Gender</label>
        <select name="Gender">
            <option value="U">Unknown</option>
            <option value="M">Male</option>
            <option value="F">Female</option>
        </select>
    </p>
</div>
<script>
   var data =
   {
      FirstName: "Bill",
      LastName: "Willis",
      Gender: "M"
   };

   $("#form").link(true, data);  //What is the 1st parameter (true) about?
</script>


名字

全名

性别 不为人知 男性 女性

var数据= { 名字:“比尔”, 姓:“威利斯”, 性别:“M” }; $(“#form”).link(true,data);//第一个参数(true)是关于什么的?
我不知道如何绑定到select控件

如果您能解释一下应该如何做,我将不胜感激。

data link=“a.b.c”
是速记语法,对于大多数其他元素,它相当于完整的语法
data link=“{:a.b.c:}”
(它提供了双向绑定)和
data link=“{:a.b.c}”
(即,不是用于用户输入的表单元素,因此它当然是单向绑定)

有关详细信息,请参阅

如果要执行非默认绑定,请使用完整语法,例如使用convert或convertBack,如
数据链接=“{cvt:a.b.c:cvtBack}”
,或对输入进行单向绑定,如
数据链接=“{:a.b.c}”

因此冒号都指定了绑定的方向,并允许您为该绑定添加转换器

当前不直接支持一种“到源代码”的方式,但可以通过使用转换器来实现。绑定到select在几个示例中显示,例如,或

目前触发器是onblur(或onchange)——但很快也可以以声明方式设置它


所有演示的代码都是。

非常感谢您的回答。