我想知道是否可以在Alloy中进行条件数据绑定。
如果我的绑定值大于1,我想将单词更改为复数 想象一下这两个例子: "您的评分是1星"。 "您的评分为2星"。
根据号码,我想更改单词" star"到"明星"。我怎样才能达到这个结果?
答案 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>
祝你好运,干杯