Chrome Uzantısı için Backbone.js ile Şablonlar nasıl kullanılır. Çalıştırmak için underscore.template ile denedim. Sorun şu ki, krom uzantılarının manifest_version 2'sinden bazı güvenlik kısıtlamaları vardır. Bunun sebebi, satır içi bloklara artık izin verilmemesidir. Bu küçük örnekte bir şablon yüklüyorum ve oluşturmaya çalışıyorum. Bu bağlamda için izin verilmeyen dizeleri Kod nesli:Omurga görünümlerim için şablonlar kullanmaya çalışırken, Manifest Sürüm 2
Yakalanmayan Hata: Sonra hata alıyorum.
Ben Handlebars.js ve sağ benim html-dosyasına bir şablonla da denedim. Normal bir tarayıcı penceresinde çalışır. Fakat bir krom uzantısı olarak değil.Peki ben manifest_version 2 ile krom uzantısı backbone.js ile şablonlarını kullanabilirsiniz? alt çizgi ile
(çalışmıyor): Gidon ile
define [
'jquery'
'backbone'
'lib/facade'
'text!templates/loginTemplate.js'
],
($, Backbone, facade, LoginTemplate) ->
'use strict'
class LoginView extends Backbone.View
tagName: 'div'
events: {
}
initialize: (options) ->
@el = options.el
render: ->
console.log 'LoginView: render()'
$(@el).html(_.template(LoginTemplate, {}))
(çalışmıyor):
<!-- templates -->
<script id="loginTemplate" type="text/x-handlebars-template">
<form class="form-horizontal">
<fieldset>
<legend>Login</legend>
<div class="control-group">
<label class="control-label" for="email">Email:</label>
<div class="controls">
<input type="text" class="input-xlarge" id="email" name="email">
</div>
</div>
<div class="control-group">
<label class="control-label" for="password">Passwort:</label>
<div class="controls">
<input type="password" class="input-xlarge" id="password" name="password">
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">Login</button>
</div>
</fieldset>
</form>
</script>
ve görünümde: index.html içinde
şablon
define [
'jquery'
'backbone'
'lib/facade'
],
($, Backbone, facade) ->
'use strict'
class LoginView extends Backbone.View
tagName: 'div'
events: {
}
initialize: (options) ->
@el = options.el
render: ->
console.log 'LoginView: render()', $("#loginTemplate")
$(@el).html(Handlebars.compile($("#loginTemplate").html()))
Ancak bu, örn. Bir sunucudan bir koleksiyon için veri almak ve daha sonra çalışma zamanında koleksiyon görünümünü dinamik olarak oluşturmak? Düzenleme: Tamam, şimdi anlıyorum. =) – DerMambo