我在Rails中使用BackbowJS处理车把模板。
我在这里得到一个奇怪的错误.. 这是我的标题视图
class App.Views.Header extends Backbone.View
className: "navbar-inner"
template: HandlebarsTemplates['app/templates/header']
render: ->
@$el.html(@template())
@
主应用程序文件是这个
#= require_self
#= require_tree ./templates
#= require_tree ./views
#= require_tree ./routers
window.App =
Routers: {}
Views: {}
Collections: {}
Models: {}
initialize: ->
new App.Routers.MainRouter()
Backbone.history.start()
我的主路由器文件就是这个
class App.Routers.MainRouter extends Backbone.Router
routes:
"": "index"
initialize: ->
@headerView = new App.Views.Header()
index: ->
$("#header").html(@headerView.render().el)
当我点击localhost:3000
时..我提前得到了这个错误。
Uncaught TypeError: this.template is not a function
..
我完全被困在任何帮助将不胜感激
答案 0 :(得分:1)
package com.esqmo.apps.effetmatrix;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Paint;
import android.media.effect.Effect;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button boutton_vert = (Button) findViewById(R.id.b_v);
final Button boutton_bleu = (Button) findViewById(R.id.b_b);
final Button boutton_rouge = (Button) findViewById(R.id.b_r);
final Button boutton_rose = (Button) findViewById(R.id.b_ro);
boutton_bleu.setOnClickListener(this);
boutton_vert.setOnClickListener(this);
boutton_rouge.setOnClickListener(this);
boutton_rose.setOnClickListener(this);
}
@Override
public void onClick(View v) {
}
public void passerVert(View v) {
}
public void passerRouge(View v) {
}
public void passerRose(View v) {
}
public void passerBleu(View v) {
}
}
模板路径应该只是模板本身。
可能是版本或资产预编译的版本
答案 1 :(得分:0)
听起来HandlebarsTemplates['app/templates/header']
中的Handlebars模板不存在,尚未编译,或者在编译时可能出错。如果该值为null或未定义,那就是你得到的错误。
您可能希望在调用render
时尝试在浏览器的javascript调试器中设置断点,然后使用调试器检查this.template
的值,看看发生了什么。