Bagaimana cara menggunakan pustaka garis bawah di dalam pengontrol angularjs?
Pada posting ini: AngularJS limitTo pada 2 record terakhir seseorang menyarankan untuk menetapkan variabel _ ke rootScope sehingga perpustakaan akan tersedia untuk semua cakupan dalam aplikasi.
Tapi saya tidak jelas di mana harus melakukannya. Maksud saya harusnya pergi pada deklarasi modul aplikasi? yaitu:
var myapp = angular.module('offersApp', [])
.config(['$rootScope', function($rootScope) { }
Tapi lalu di mana saya memuat garis bawah lib? Saya hanya punya di halaman indeks saya direktif aplikasi-ng dan referensi skrip untuk kedua sudut-js dan garis bawah libs?
index.html
:
<head>
</head>
<body ng-app="offersApp">
...
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="scripts/vendor/angular.js"></script>
<script src="scripts/vendor/underscore.js"></script>
...
Bagaimana saya mencapai ini?
Jawaban:
Ketika Anda memasukkan Garis Bawah, itu melampirkan dirinya sendiri ke
window
objek, dan tersedia secara global.Jadi Anda bisa menggunakannya dari kode Angular apa adanya.
Anda juga dapat membungkusnya dalam layanan atau pabrik, jika Anda ingin itu disuntikkan:
Dan kemudian Anda dapat meminta di
_
dalam modul aplikasi Anda:sumber
Saya telah menerapkan saran @ satchmorun di sini: https://github.com/andresesfm/angular-underscore-module
Untuk menggunakannya:
Pastikan Anda telah memasukkan underscore.js dalam proyek Anda
Mengerti:
Tambahkan angular-underscore-module.js ke file utama Anda (index.html)
Tambahkan modul sebagai ketergantungan dalam definisi Aplikasi Anda
Untuk menggunakannya, tambahkan sebagai ketergantungan yang disuntikkan ke Pengontrol / Layanan Anda dan siap digunakan
sumber
Uncaught ReferenceError: _ is not defined
Saya menggunakan ini:
Lihat https://github.com/angular/angular.js/wiki/Understanding-Dependency-Injection tentang setengah jalan untuk informasi lebih lanjut
run
.sumber
<p>{{ _.capitalize('lalala') }}</p>
?Anda juga dapat melihat modul ini untuk sudut
https://github.com/floydsoft/angular-underscore
sumber
Jika Anda tidak keberatan menggunakan lodash, coba https://github.com/rockabox/ng-lodash membungkus lodash sepenuhnya sehingga ini adalah satu-satunya ketergantungan dan Anda tidak perlu memuat file skrip lain seperti lodash.
Lodash benar-benar keluar dari lingkup jendela dan tidak ada "berharap" bahwa itu telah dimuat sebelum modul Anda.
sumber
Anda dapat menggunakan modul ini -> https://github.com/jiahut/ng.lodash
ini untuk
lodash
begitu jugaunderscore
sumber