首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用rivets.js解析值?

如何用rivets.js解析值?
EN

Stack Overflow用户
提问于 2017-02-21 19:30:02
回答 2查看 701关注 0票数 0

我使用的是基于Django的Dashing框架。

使用Rivets.js约定将数据绑定到脚本文件。

代码语言:javascript
复制
<div rv-status-color="value">
    <h1>{ title }</h1>
    <h2>{ value }</h2>
    <p class="detail">{ detail }</p>
    <p class="more-info" rv-show="moreInfo">{ moreInfo }</p>
    <p class="updated-at" rv-show="updatedAt">{ updatedAt }</p>
</div>
<i rv-class="icon" rv-show="icon"></i>

下面的脚本从HTML中获取值,并根据条件将必要的颜色设置为.css。

代码语言:javascript
复制
rivets.binders['status-color'] = function(el, value) {
    if (value == 0) {
        $(el).css('background-color', 'green');
    }
    else if (value < 0) {
        $(el).css('background-color', 'orange');
    }
    else {
        $(el).css('background-color', 'red');
    }
};

您能告诉我如何重写脚本来获取{detail}值,并将其与{ value }进行比较吗?

大概是这样的:

代码语言:javascript
复制
rivets.binders['status-color'] = function(el, value) {
    if (value == detail) {
        $(el).css('background-color', 'green');
    }
    else if (value < detail) {
        $(el).css('background-color', 'orange');
    }
    else {
        $(el).css('background-color', 'red');
    }
};

提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2017-02-21 19:47:15

您可以将对象传递给绑定器,而不是静态值。

代码语言:javascript
复制
<div rv-status-color="yourObject">

然后在脚本中使用对象

代码语言:javascript
复制
rivets.binders['status-color'] = function(el, obj) {
    if (obj.value == obj.detail) {
        $(el).css('background-color', 'green');
    }
    else if (obj.value < obj.detail) {
        $(el).css('background-color', 'orange');
    }
    else {
        $(el).css('background-color', 'red');
    }
};
票数 0
EN

Stack Overflow用户

发布于 2017-03-09 17:46:10

您只需执行以下操作:

代码语言:javascript
复制
rivets.binders['status-color'] = function(el, value, scope) { //scope being the current bound object
    var detail=scope.detail;
    if (value == detail) {
        $(el).css('background-color', 'green');
    }
    else if (value < detail) {
        $(el).css('background-color', 'orange');
    }
    else {
        $(el).css('background-color', 'red');
    }
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42366082

复制
相关文章

相似问题

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