私はどの方法を使うべきかわからないので、これに多くの不満があります。以下は基本的な設定です。NG-IF/NG-SWITCHまたはNG-SHOW&NG-HIDEが必要ですか?
ムービーの状態に基づいてムービーの現在の状態を表示する必要があります。DOM内に別のメッセージが必要です。ムービーには3つの状態があります。 注:ムービーはJSONファイルに保存され、すべて1ページに表示されます。
状態1
映画リリース:真 映画劇場で:真
ユーザーのテキスト: "劇場では今!"
State2
映画公開:劇場で真 映画:偽
ユーザー・テキスト: "!今すぐ購入" (購入リンクは、ムービー 対象に含まれます)
州立3.
映画公開:劇場で偽 映画:偽
ユーザーのテキスト:最新のニュースリリース
だからそれは本当です。真、偽|| false false。
HTMLコード。
<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オブジェクト
{
"_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"
},
これは正常に動作してを示し、 "今劇場で!"という唯一の問題は、より多くの条件を使用して、それらに基づいてvm.movieStatusを変更する必要があることです。 私は多種多様なものを扱おうとしましたが、うまくいかないようです。
大変助かりました!
ng-ifを使用すると、表示されていないアイテムが実際にDOMから削除されます。これは一般に、最適なパフォーマンスとリソースの利用のために実行するものです。より役立つ回答を得るために何が効いていないのかを投稿することをお勧めします。あなたのような関数を呼び出すことは、ng-ifからのもので、完全に受け入れられ、より複雑なロジックには一般的に好まれます。 –