Arsip bulanan: Februari 2015

Pemecahan masalah Tip untuk sudut arahan (Atau, Belajar untuk mencintai tanda hubung)

Saya punya beberapa aplikasi yang membuat $http.get() panggilan dan saya ingin untuk dapat menunjukkan pesan kesalahan yang diformat dengan baik dengan rincian kesalahan jelek yang tersembunyi, tetapi dapat diakses.  Pada dasarnya, ini:

image

Dan kemudian jika pengguna mengklik pada kesalahan, mereka melihat Info lebih lanjut:

image

Hal-hal sederhana.  Karena kesalahan potensial yang tepat sama dapat muncul di layar administratif serta layar pengguna akhir, itu jelas menyerukan sudut arahan kustom.  SAYA  menemukan ini seri yang luar biasa Artikel (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) Oleh Agung Dan Wahlin.  Mengikuti nasihatnya, Saya sangat cepat membuat <Halo-dunia> direktif dan pindah ke kesalahan tampilan squeegee saya lebih kompleks. Aku berlari ke sedikit kesulitan dengan direktif ini lebih kompleks.  Bahagia, semacam kebetulan, Saya telah mengatakan WebStorm (editor saya menggunakan hari ini) bahwa JS file file sudut dan itu membantu saya mencari tahu masalah.  Ini adalah kode untuk direktif sendiri:

angular.module("CDLApp").direktif("generalCdlErrorHandler", fungsi() {

kembali {
membatasi: "E",
ganti: benar,

Ruang lingkup: {
retrieveLastConfigurationError: "&"
},

template:
'<div kelas = "peringatan peringatan-bahaya" peran = "waspada" ng-init = "doShowExpandedErrorDetails = true" ng-Tampilkan = "retrieveLastConfigurationError()">' +
' Ada i/o error atau kesalahan lainnya. Hal ini biasanya terjadi karena file data konfigurasi tidak bisa ' +
' ditemukan atau file konfigurasi berisi informasi yang tidak akurat (seperti referensi perpustakaan dokumen ' +
' yang tidak ada).' +
' <br />' +
' <div ng-Tampilkan = "doShowExpandedErrorDetails">' +
' <href = "#" ng-klik = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
'Klik di sini untuk menyembunyikan rincian.' +
' </a>: ' +
' <br />' +
' <pra>{{retrieveLastConfigurationError() | JSON}}</pra>' +
' <br />' +
' </div>' +
' <div ng-Tampilkan = "!doShowExpandedErrorDetails">' +
' <href = "#" ng-klik = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
'Klik di sini untuk memperluas rincian kesalahan.' +
' </a>' +
' </div>' +
'</div>'
};
});

Pada dasarnya, Saya membuat sebuah elemen baru yang disebut "generalCdlErrorHandler".  Itu membutuhkan akses ke fungsi yang disebut retrieveLastConfigurationError dan yang ditangani dalam cakupan obyek.  Aku mungkin bisa hanya menggunakan orangtua lingkup, tapi yang merasa malas.  Jika ada yang berpikir aku harus melakukan itu, Saya akan senang mendengar tentang hal itu di komentar.

Ini adalah semua baik-baik saja, tetapi saya tidak mendapatkan apa-apa.  Tidak ada kesalahan yang muncul di konsol (setidaknya sekali aku tetap semua kesalahan sx saya membuat sepanjang jalan).  Aku hanya tidak mendapatkan output dari direktif.  Aku pergi dan menambahkan beberapa teks statis sebelum direktif ng-show dan * melakukan * mendapatkan bahwa. Ini membuat saya berpikir bahwa mungkin direktif tidak diizinkan untuk secara implisit membuat baru vars seperti "doShowExpandedErrorDetails" atau "ng-init" di sana. 

Aku kembali ke HTML untuk melihat jika aku tipe dan kali ini WebStorm membantu saya keluar.  Saya telah lewat dalam fungsi retrieveLastConfigurationError seperti ini:

<Umum-cdl--handler kesalahan retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</Umum-cdl--handler kesalahan>

Tapi itu benar-benar diperlukan untuk ini:

<Umum-cdl-kesalahan-penangan mengambil-terakhir-konfigurasi-kesalahan = "CDLController.retrieveLastConfigurationError()">
</Umum-cdl--handler kesalahan>

WebStorm adalah cukup pintar untuk tahu bahwa itu harus menjadi hyphenated.  Jika itu tidak memberikan petunjuk yang, Saya akan mungkin akan masih pemecahan masalah ini Tersenyum.  Fun kali!

Trik ini: tidak hanya nama elemen direktif hyphenated, Jadi adalah atribut apapun Anda menambahkan untuk itu.  Begitu saya menambahkan tanda hubung, itu semua bekerja hebat.  Dan tutorial yang terjadi menggunakan nama tunggal yang pendek, Jadi saya tidak membuat sambungan.

Semoga ini bisa membantu seseorang.

</akhir>

undefinedBerlangganan ke blog saya.

Ikuti saya di kegugupan di http://www.twitter.com/pagalvin

IE9 Benar-benar tidak menyukainya ketika Anda mengambil jalan pintas dengan Anda <rentang> Tag

Aku telah jatuh ke dalam kebiasaan buruk dalam menggunakan Chrome sepanjang waktu.  Ini "buruk" karena hal-hal yang aku mengembangkan benar-benar kebutuhan untuk menjalankan banyak browser web lainnya, termasuk, Sayangnya IE8.  Laptop kerja saya memiliki IE9 standar untuk alasan apa pun) dan saya hanya melakukan cepat periksa untuk melihat hal-hal apa yang tampak seperti dan... itu tidak cantik.  Misalnya:

image

Memiliki * seharusnya * terlihat seperti ini:

image

 

Tidak hanya adalah off, tapi acara klik saya tidak menembak.  (Kebanyakan dari mereka, Pokoknya).

Visual, itu tampak seperti hal-hal mulai pergi rel dekat "Advanced Setup" link.  Aku menggali ke dalam bagian dari HTML dan menemukan bahwa saya punya baris ini:

<span class = "glyphicon glyphicon--jendela baru" />

Yang tampaknya seperti diijinkan sintaks ("Versi chrome 40.02214.94 m"baik-baik dengan). Aku pergi dan berubah itu pula, seperti yang ditunjukkan:

<span class = "glyphicon glyphicon--jendela baru"></rentang>

Yang tetap.

Seperti hal kecil disebabkan berantakan besar layar.  Fun kali.

Hal ini terjadi untuk menjadi cepat memperbaiki, tetapi juga jenis hal yang hanya mendapat tulang belakang Anda keluar dari keselarasan ketika Anda melihatnya.  Ada lebih dari 500 baris HTML dalam fungsi admin kecil ini dan Anda hanya tidak ingin menemukan diri Anda menggali antara mereka gulma, pernah Tersenyum.

</akhir>

undefinedBerlangganan ke blog saya.

Ikuti saya di kegugupan di http://www.twitter.com/pagalvin