Saya mencoba untuk menampilkan / menyembunyikan beberapa HTML menggunakan ng-show
dan ng-hide
fungsi - 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-hide
dan ng-show
diberikan nilai true
/ benar false
tetapi 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?