angular.js - 在使用Angular开发中如何将数据注入$rootScope
PHP中文网
PHP中文网 2017-05-15 16:53:43
0
5
600

另外,是否有类似于main.js的那种js,里面可以去定义全局变量。例如var http = "www.xxxx.com/",可以使得其他的Ctrl.js,都可以调用。

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