与Alloy合作的条件数据

时间:2017-03-01 18:44:42

标签: binding titanium appcelerator alloy

我想知道是否可以在Alloy中进行条件数据绑定。

如果我的绑定值大于1,我想将单词更改为复数 想象一下这两个例子: "您的评分是1星"。 "您的评分为2星"。

根据号码,我想更改单词" star"到"明星"。我怎样才能达到这个结果?

1 个答案:

答案 0 :(得分:1)

你的问题并不完全清楚,你究竟想要什么,但考虑到一些案例,我会尝试为你提供所有案例的解决方案:

  

案例1 :考虑要存储在变量

中的评级值
var rating = 1;     //whatever value you get from service or any other source;

if(rating > 1){
    $.label1.text = "Your rating is " + rating + "stars";
}
else {
    $.label1.text = "Your rating is " + rating + "star";
}
  

案例2 :这种情况可以类似于第一种情况只有区别,我们可以使用string.xml

     

您的string.xml将包含值:

<resources> 
    <string name="ratingStat">Your rating is</string>
    <string name="star">star</string>
    <string name="stars">Stars</string>
</resources>
  

在js文件中

var rating = 1;     //whatever value you get from service or any other source;

if(rating>1){
     $.label1.text = L("ratingStat") + " " + rating + L("stars");
} else {
     $.label1.text = L("ratingStat") + " " + rating + L("star");
}
  

案例3 :如果您收到整个字符串,然后想要更改该值。

var ratingStat = "Your rating is 2 star.";      // Whatever value you get from service or any other source.    

var ratingVal = ratingStat.substr(15,1);

if (ratingVal > 1) {
    ratingStat = ratingStat.replace("star", "stars");
}

Ti.API.info('ratingStat ' + ratingStat);

注意 :如果答案的答案与您的要求不符,请在这种情况下详细说明您的问题究竟是什么。 < / p>

祝你好运,干杯