Saya percaya semua orang akan menghadapi masalah ini apabila menulis angularjs, tetapi ia tidak jelas dalam web umum Apabila menulis halaman wap, ia akan menjadi jelas bahawa terdapat pemegang tempat yang akan berhenti apabila antara muka baru dibuka, dan kemudian. tunggu js menjadi tak segerak Selepas menyegarkan, nilai berubah lagi, dan pengalamannya tidak begitu baik.
Saya rasa perlu ada penyelesaian yang lebih matang untuk ini, tolong beri saya nasihat~!
ringa_lee
@Brooooklyn Mengikuti petunjuk ini, saya menjumpai siaran yang sangat bagus pada stackoverflow dengan penjelasan yang sangat jelas
ng-bind atau ng-cloak, pegawai dah cakap banyak kali, guna css adalah penyelesaian terbaik
http://www.cnblogs.com/whitewolf/p/3495822.html
https://docs.angularjs.org/api/ng/directive/ngCloak
[ng:jubah], [ng-jubah], [data-ng-jubah], [x-ng-jubah], .ng-jubah, .x-ng-jubah {
paparan: tiada !penting;
}
angularjs secara automatik akan bekerjasama dengan $qProvider, yang sebenarnya merupakan gelung $digest yang mendasari.
Apabila penolakan atau penyelesaian janji $q tidak dilaksanakan, percubaan tidak akan dilakukan, apatah lagi masalah pemegang tempat utama. Dalam modul penghala angularjs, anda boleh menggunakan fungsi ini dengan menentukan penyelesaian. angular-ui-router
Gunakan kaedah yang sama.
Jangan gunakan ruang letak {{ }}, gunakan arahan ng-bind
. Tetapi penyelesaian ini tidak fleksibel.
Contohnya, menggunakan {{ }}, anda boleh menulisnya seperti ini
html
<p>{{ start_time }} ~ {{ end_time }}</p>
Tetapi itu sahaja yang boleh anda lakukan selepas menggunakan perintah ng-bind
.
<p>
<span ng-bind="start_time"></span>
~
<span ng-bind="start_time"></span>
</p>
Banyak tag kosong yang tidak berguna akan muncul. Tidak kondusif untuk penyelenggaraan. Dan halaman akan kelihatan kosong.
Adalah disyorkan untuk menggunakan pilihan pertama. Tetapi yang pertama juga mempunyai kekurangan, iaitu, apabila data dikembalikan perlahan, pandangan kembali ke papan putih, tetapi ia masih dihantar. Anda boleh menggunakan ng-animate dan menambah animasi pemuatan apabila menukar halaman.
router.js
angular-ui-router
Kod sampel modul adalah seperti berikut
javascript
.state('admin.event', { url: '/events', views: { 'MainBody': { // 重點(diǎn)在這里 templateUrl: '.....', controller: 'dzadmin.controller.events.query', //這里需要制定控制器名稱,視圖里不要在再制定了。因?yàn)槭怯?路由器 負(fù)責(zé)告訴控制器合適開始執(zhí)行,而不是試圖來驅(qū)動(dòng)。 resolve: { events: ['eventService', '$q', function(eventService, $q){ var deferred = $q.defer(); eventService.query(.....).then(deferred.resolve, deferred.reject); return deferred.promise; }] } } } }) // dzadmin.controller.events.query .controller('dzadmin.controller.events.query', ['$scope', 'events', function($scope, events){ $scope.events = events; }])
// Cuba kod 一定要注意,視圖里面不能再重復(fù)指定控制器名稱。否則會(huì)報(bào)錯(cuò)
, sepatutnya nama pengawal telah ditentukan dalam laluan.
<ul>
<li ng-repeat="event in events">{{ event.name }}</li>
</ul>