angular.js - Cara menyuntik data ke dalam $rootScope apabila membangun dengan Angular
PHP中文网
PHP中文网 2017-05-15 16:53:43
0
5
655

Selain itu, adakah terdapat js serupa dengan main.js di mana pembolehubah global boleh ditakrifkan? Contohnya, var http = "www.xxxx.com/" boleh menjadikan Ctrl.js lain boleh dipanggil.

PHP中文网
PHP中文网

认证0级讲师

membalas semua(5)
小葫芦

Ideanya salah, tidak perlu mentakrifkan pembolehubah global dalam angular. Data anda hendaklah disediakan melalui service, factory, provider.
Dan perkara-perkara ini boleh disuntik kebergantungan, jadi tidak ada keperluan untuk pembolehubah global sama sekali

PHPzhong

$rootScope ialah objek dan boleh terikat kepada pembolehubah global dalam bentuk $rootScope.xxx='';

某草草

@leftstick betul, AngularJS menggunakan gaya suntikan kebergantungan untuk menstruktur keseluruhan rangka kerja aplikasi Sebaik-baiknya jangan mengisytiharkan pembolehubah global, tetapi menjadikannya sebagai Perkhidmatan. Dengan cara ini anda boleh mengelakkan banyak masalah:

  1. Konflik penamaan. Menamakan konflik dalam JavaScript tidak akan memberikan sebarang amaran Jika projek anda kecil, kebarangkalian kejadian adalah kecil, tetapi sangat sukar untuk nyahpepijat.
  2. Jujukan permulaan. Jika anda mentakrifkan pembolehubah global ACtrl dalam window.a, contohnya, jika anda ingin menggunakannya dalam BCtrl, maka anda perlu memastikan bahawa ACtrl dilaksanakan sebelum BCtrl Ini selalunya sukar dicapai , malah secara logiknya mengelirukan.

Dalam Sudut, cara yang paling munasabah ialah menjadikan a menjadi aService dan menyuntiknya ke dalam ACtrl dan BCtrl.

Bagaimana untuk menentukan perkhidmatan dan hubungan antara Modul, Perkhidmatan, Kilang dan Pembekal boleh merujuk blog ini:

http://harttle.github.io/2015/06/07/angular-module.html

我想大声告诉你
angular.module('app', []).run(function($rootScope) {
    $rootScope.http = 'www.xxxx.com/';
});
刘奇

Kini angularjs2 keluar

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan