首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ractive,<input>上的两个绑定

Ractive,<input>上的两个绑定
EN

Stack Overflow用户
提问于 2014-12-19 12:47:44
回答 1查看 496关注 0票数 1

注:我指的不是“双向绑定”

我使用一个渐变装饰器( select2 )将输入转换为select2。我通过ajax获得的数据是数据库中的一些记录,例如:

代码语言:javascript
复制
[{id:1, name:"test", quantity:2, image:"image.jpg"}, 
{id:2, name:"bar", quantity:21, image:"image2.jpg"}, 
{id:3, name:"foo", quantity:21, image:"image3.jpg"}]

我使用select2 2的函数formatResultformatSelection格式化这些对象。

我使用装饰器的元素如下所示:

代码语言:javascript
复制
<input type="hidden" value="{{values}}" decorator="select2">

用户选择某项之后,values将等于所选对象的if (例如: values=1,3,如果我选择第一条和最后一条记录)

我的问题是:如何获得所选的完整对象?我在考虑<input>上的两个绑定(<input value="{{values}}" data-objects="{{objects}}"> ),以便当用户选择某些内容时,装饰器也可以保存完整的对象。但是,当我调试装饰器时,node._ractive.binding只显示值,而不显示其他属性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-19 14:31:37

我将ajax请求的结果保存在ractive中,然后将in与对象in匹配以找到原始对象,从而解决了这个问题。

不是最漂亮的东西,但很管用。

代码语言:javascript
复制
Ractive.decorators.select2.type.whatever = {
    tags: [],
    separator: "|",
    ajax: {
      url: "ajax_url",
      data: function(searchterm, page) {
        return {
          searchterm: searchterm,
          page: page,
        };
      },
      results: function(data, page) {
        //Here i save the records
        ractive.set("data", data.records);
        return {results: data.records, more: data.more};
      }
   }
};


var ractive = new Ractive({
  el: "things",
  template: "template",
});

ractive.observe("ids", function(ids) {
  var data = ractive.get("data");
  ids = ids.split("|");
  
  //I can obtain the original objects
});
代码语言:javascript
复制
<script src="http://cdn.ractivejs.org/latest/ractive.js"></script>
<script src="https://rawgit.com/Prezent/ractive-decorators-select2/master/ractive-decorators-select2.js"></script>

<!-- select2, jquery missing -->

<script type="ractive-template" id="template">
  <input type="hidden" value="{{ids}}" decorator="select:whatever">
</script>

<div id="things"></div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27566541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档