首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JsViews中的数据绑定

JsViews中的数据绑定
EN

Stack Overflow用户
提问于 2016-09-08 08:03:46
回答 1查看 116关注 0票数 2

我有一个Javascript对象文本,类似于

代码语言:javascript
复制
test : {
  length: 3,
  text: "Please enter 3 characters"
 }

我希望根据长度使文本呈现动态,如下所示

代码语言:javascript
复制
test : {
      length: 3,
      text: "Please enter {{:length}} characters"
     }

在JsViews中有实现这一目标的方法吗?我看了一下https://github.com/BorisMoore/jsviews/issues/327,但我不确定同样的方法是否适用于我的场景。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-08 09:22:45

您可以尝试制作像这样的助手格式

html

代码语言:javascript
复制
<div id="result"></div>

<script id="tmpl" type="text/x-jsrender">
  <input type="text" data-link="length"/>
  <br/>
  <span> {^{:~format(text, length)}} </span>
</script>

js

代码语言:javascript
复制
var data = {
    length : 3,
    text : "Please enter {0} characters",
}

var _rxMark = /\{(\d+)\}/g;
var helpers = {
    format : function (string) {
        var data = [];
        for (var _i = 1; _i < arguments.length; _i++) {
            data[_i - 1] = arguments[_i];
        }
        return string.replace(_rxMark, function (substring, argIndex) {
            var result = data[parseInt(argIndex)];
            return result || "";
        });
    }
}

var tmpl = $.templates("#tmpl");

tmpl.link("#result", data, helpers);

示例

在这里,示例也可能对您有用。

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

https://stackoverflow.com/questions/39385637

复制
相关文章

相似问题

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