Binding 用Alloy进行条件数据绑定

Binding 用Alloy进行条件数据绑定,binding,titanium,appcelerator,alloy,Binding,Titanium,Appcelerator,Alloy,我想知道是否可以在Alloy中进行条件数据绑定 如果绑定的值大于1,我想将单词改为复数 想象一下这两个例子: “你的评级是一颗星”。 “你的评级是2颗星” 根据号码,我想把“星”改为“星”。我如何才能达到这个结果?您的问题并不完全清楚,您到底想要什么,但考虑到一些情况,我将尝试为您提供所有情况的解决方案: 案例1 < /强>:考虑要存储在变量中的评级值 案例2:此案例与第一个案例类似,唯一的区别是我们可以使用string.xml 您的string.xml将具有以下值: 案例3:如果您收到整个字

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

如果绑定的值大于1,我想将单词改为复数 想象一下这两个例子: “你的评级是一颗星”。 “你的评级是2颗星”


根据号码,我想把“星”改为“星”。我如何才能达到这个结果?

您的问题并不完全清楚,您到底想要什么,但考虑到一些情况,我将尝试为您提供所有情况的解决方案:

<强>案例1 < /强>:考虑要存储在变量

中的评级值 案例2:此案例与第一个案例类似,唯一的区别是我们可以使用string.xml

您的string.xml将具有以下值:

案例3:如果您收到整个字符串并希望更改值,则

注意:如果答案中没有一个符合您的要求,在这种情况下,请详细说明您的问题到底是关于什么的

祝你好运,干杯

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";
}
<resources> 
    <string name="ratingStat">Your rating is</string>
    <string name="star">star</string>
    <string name="stars">Stars</string>
</resources>
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");
}
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);