事件指令中的限制引用

时间:2015-03-19 04:57:39

标签: ractivejs

我展示了一系列帖子。我希望在它悬停时显示帖子的某些特定元素,并在不支持时隐藏它。

我希望受限参考可以帮助我,所以这就是我尝试的:

{{#each Posts}}
  <form on-mouseover="set('.PostIsHovered', true)" on-mouseleave="set('.PostIsHovered', false)">
    <label>{{Text}}</label>
    {{#if .PostIsHovered}}
    <input type="submit" value="Submit" />
    {{/if}}
  <form>
{{/each}}

以下是演示:http://jsfiddle.net/mq197dox/2/但它不起作用。

如果我将.PostIsHovered更改为PostIsHovered它有点有用,但当我悬停一个帖子时,会显示所有帖子的提交按钮(这是有意义的,因为它不是受限参考)。

1 个答案:

答案 0 :(得分:1)

您必须使用完整的密钥路径和事件处理的方法样式(http://jsfiddle.net/mq197dox/3/):

{{#each Posts}}
  <form on-mouseover="set(@keypath + '.PostIsHovered', true)" on-mouseleave="set(@keypath + '.PostIsHovered', false)">
    <label>{{Text}}</label>
    {{#if .PostIsHovered}}
    <input type="submit" value="Submit" />
    {{/if}}
  <form>
{{/each}}