Saya memiliki tag khusus dalam routeProvider
templat yang meminta directive
templat. The version
atribut akan diisi oleh ruang lingkup yang kemudian memanggil untuk template yang tepat.
<hymn ver="before-{{ week }}-{{ day }}"></hymn>
Ada beberapa versi nyanyian pujian berdasarkan pada minggu dan hari apa itu. Saya mengantisipasi untuk menggunakan arahan untuk mengisi bagian yang benar .html
. Variabel tidak sedang dibaca oleh templateUrl
.
emanuel.directive('hymn', function() {
var contentUrl;
return {
restrict: 'E',
link: function(scope, element, attrs) {
// concatenating the directory to the ver attr to select the correct excerpt for the day
contentUrl = 'content/excerpts/hymn-' + attrs.ver + '.html';
},
// passing in contentUrl variable
templateUrl: contentUrl
}
});
Ada beberapa file dalam direktori kutipan yang diberi label before-1-monday.html
, before-2-tuesday.html
...
angularjs
angularjs-directive
Alen Giliana
sumber
sumber
Jawaban:
Anda bisa menggunakan
ng-include
arahan.Coba sesuatu seperti ini:
UPD. untuk menonton
ver
atributsumber
ver
perubahan atribut dan direktif rerender?<hymn ...>
harus bekerja dengan baik. Atau mungkin saatnya untuk membangun prototipe di jsfilddle ?ve take a look at your site, and changed [JSFiddle](http://jsfiddle.net/JQgG5/6/). All you need is
lingkup saya : {} `dalam deklarasi direktif - isolasi lingkup . Saya juga sangat menyarankan Anda untuk menggunakan versi sudut terakhir.<script type="text/ng-template" id="...">
- adalah alternatif lokal untuk halaman htmlJadi, Anda dapat menyediakan templateUrl melalui markup
Sekarang Anda hanya mengurus yang properti contentUrl populates dengan jalur yang dihasilkan secara dinamis.
sumber
once per $compile phase
. Dengan kata lain jika Anda menggunakanng-repeat
dengan arahan Anda dan ingin menetapkan template individual berdasarkanng-repeat
konteks item tertentu , itu tidak akan berhasil, karena$compile
fase berjalan melalui arahan Anda sekali sebelumng-repeat
terjadi. Jadi dalam arti itu dipanggil sekali ...Berkat @pgregory, saya bisa menyelesaikan masalah saya menggunakan arahan ini untuk mengedit inline
sumber
Anda tidak perlu arahan khusus di sini. Cukup gunakan atribut ng-include src. Ini dikompilasi sehingga Anda dapat memasukkan kode ke dalamnya. Lihat plunker dengan solusi untuk masalah Anda.
sumber
Saya memiliki masalah yang sama dan saya menyelesaikannya dengan cara yang sedikit berbeda dari yang lain. Saya menggunakan sudut 1.4.4.
Dalam kasus saya, saya memiliki template shell yang membuat panel CSS Bootstrap:
Saya ingin menyertakan templat bodi panel tergantung pada rute.
Saya kemudian memasukkan templat berikut saat rute
#/students
:Templat panel-body.html sebagai berikut:
Sampel data jika seseorang ingin melakukan sesuatu:
sumber
Saya punya contoh tentang ini.
sumber