Backbone 查看脚本错误
Backbone view script error
为什么我会遇到脚本错误?
最初我想问的是关于在视图初始化期间传递自定义变量的问题,但我最终还是问到了这个问题。
JSFiddle 对于这个
var ddd = Backbone.View.extend({
el: "#sd",
initialize: function() {
console.log("rrr");
},
render: function() {
}
});
console.log("dd");
var t = new ddd();
console.log(t);
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.1.7/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
<div id="sd">
<p id="eee">
</p>
</div>
如果您想将自定义变量传递给您的 backbone 视图,只需这样做。
在你看来初始化
initialize: function(options){
this.err= options.err;
},
当您创建视图的新实例时,只需像这样将您的变量作为参数传递
制作新的视图实例
var err = 'somthing';
var t = new ddd({err: err})
固定版本
您的代码应如下所示
<html>
<head>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
</head>
<body>
<div id="sd">
<p id="eee">
</p>
</div>
<script>
var PN = Backbone.View.extend({
el: $('#sd'),
initialize: function(options) {
this.eee = options.eee
},
render: function() {
console.log(this.eee);
return this;
}
});
var v = new PN({eee: 'somthing'});
v.render();
</script>
</body>
</html>
因为您使用的 underscore.js 的 1.1.7 版本较旧。 Backbone 1.3.3 使用更高版本的 underscore.js。因为 backbone 依赖于 underscore.js 。希望这有帮助
var ddd = Backbone.View.extend({
el: "#sd",
initialize: function() {
console.log("rrr");
},
render: function() {
}
});
console.log("dd");
var t = new ddd();
console.log(t);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
<div id="sd">
<p id="eee">
</p>
</div>
为什么我会遇到脚本错误?
最初我想问的是关于在视图初始化期间传递自定义变量的问题,但我最终还是问到了这个问题。
JSFiddle 对于这个
var ddd = Backbone.View.extend({
el: "#sd",
initialize: function() {
console.log("rrr");
},
render: function() {
}
});
console.log("dd");
var t = new ddd();
console.log(t);
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.1.7/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
<div id="sd">
<p id="eee">
</p>
</div>
如果您想将自定义变量传递给您的 backbone 视图,只需这样做。
在你看来初始化
initialize: function(options){
this.err= options.err;
},
当您创建视图的新实例时,只需像这样将您的变量作为参数传递
制作新的视图实例
var err = 'somthing';
var t = new ddd({err: err})
固定版本
您的代码应如下所示
<html>
<head>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
</head>
<body>
<div id="sd">
<p id="eee">
</p>
</div>
<script>
var PN = Backbone.View.extend({
el: $('#sd'),
initialize: function(options) {
this.eee = options.eee
},
render: function() {
console.log(this.eee);
return this;
}
});
var v = new PN({eee: 'somthing'});
v.render();
</script>
</body>
</html>
因为您使用的 underscore.js 的 1.1.7 版本较旧。 Backbone 1.3.3 使用更高版本的 underscore.js。因为 backbone 依赖于 underscore.js 。希望这有帮助
var ddd = Backbone.View.extend({
el: "#sd",
initialize: function() {
console.log("rrr");
},
render: function() {
}
});
console.log("dd");
var t = new ddd();
console.log(t);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
<div id="sd">
<p id="eee">
</p>
</div>