Saya mencoba untuk menampilkan / menyembunyikan beberapa HTML menggunakan ng-showdan ng-hidefungsi - fungsi yang disediakan oleh AngularJS .
Menurut dokumentasi, penggunaan masing-masing untuk fungsi-fungsi ini adalah sebagai berikut:
ngHide - {ekspresi} - Jika ekspresi benar maka elemen ditampilkan atau disembunyikan masing-masing. ngShow - {ekspresi} - Jika ekspresi benar maka elemen ditampilkan atau disembunyikan masing-masing.
Ini berfungsi untuk usecase berikut:
<p ng-hide="true">I'm hidden</p>
<p ng-show="true">I'm shown</p>
Namun, jika kita menggunakan parameter dari objek sebagai ekspresi maka ng-hidedan ng-showdiberikan nilai true/ benar falsetetapi nilai tidak diperlakukan sebagai boolean jadi selalu kembali false:
Sumber
<p ng-hide="{{foo.bar}}">I could be shown, or I could be hidden</p>
<p ng-show="{{foo.bar}}">I could be shown, or I could be hidden</p>
Hasil
<p ng-hide="true">I should be hidden but I'm actually shown</p>
<p ng-show="true">I should be shown but I'm actually hidden</p>
Ini bug atau saya tidak melakukan ini dengan benar.
Saya tidak dapat menemukan informasi relatif tentang referensi parameter objek sebagai ekspresi jadi saya berharap siapa pun yang memiliki pemahaman yang lebih baik tentang AngularJS mungkin dapat membantu saya?