我对这个感到非常沮丧,因为我不知道应该使用哪种方法,下面是基本设置。
我想显示电影的当前状态,根据我希望在DOM中拥有不同消息的电影的状态,电影可以有3种不同的状态。 注意:电影存储在JSON文件中,并且都显示在1页上。
州1。
电影发布: true 影院上映: true
用户文字:"现在在影院上映!"
状态2。
电影发布: true 影院上映: false
用户文字:"立即购买!" (购买链接将包含在电影中 对象)
状态3。
电影发布: false 影院上映: false
用户文字:此处显示发布日期
所以它是:真的,真的|| true,false ||虚假。
HTML CODE。
<div class="ui blue ribbon label" ng-if="vm.getRelease(movie)">
<i class="film icon"></i> {{vm.movieStatus}}
</div>
JavaScript代码
function getRelease(movie){
if(movie.released && movie.inTheaters){
vm.movieStatus = "In Theaters now!";
return true
} else {
return
}
}
JSON OBJECT
{
"_id": 1,
"name": "Captain America: Civil War",
"yay": 500365,
"nay": 14357,
"releaseYear": 2016,
"releaseDate": "27-4-2016",
"inTheaters": true,
"released": true,
"buyNow": "",
"imdbUrl": "http://www.imdb.com/title/tt3498820/",
"image_url": "http://cityplusme.com/images/CaptainAmericaCivilWar.jpg",
"description": "Political interference in the Avengers' activities causes a rift between former allies Captain America and Iron Man.",
"trailer": "https://www.youtube.com/watch?v=dKrVegVI0Us"
},
这很好用并且现在显示 &#34;在剧院中!&#34; ,现在唯一的问题是我需要使用更多条件并更改vm .movieStatus基于它们。 我尝试过很多不同的事情,但我似乎无法解决这个问题。
非常感谢帮助!
答案 0 :(得分:2)
根据文档,ngIf
指令根据{expression}
删除或重新创建DOM树的一部分。如果分配给ngIf的表达式求值为false值,则从DOM中删除该元素,否则,将元素的克隆重新插入DOM中。
您需要决定是否要将其他状态的元素保留在DOM中并隐藏它们(使用CSS,这是ngShow / ngHide所做的)或者从DOM中删除元素(这就是{{1会这样做。
您使用的表达式将类似于ngIf
或类似。