gpt4 book ai didi

javascript - Backbone.js 中未定义将数据传递给 View 模板?

转载 作者:行者123 更新时间:2023-12-02 16:09:43 24 4
gpt4 key购买 nike

全部,

我暂时尝试传递一个简单的 JSON 对象(尝试使用模型但仍然是同样的问题)。

我已经用一个名为“技能”的变量初始化了我的 View ,我想将其传递到我的模板中。然而,在模板内部,它说它是未定义的。

    define([
'jquery',
'underscore',
'backbone',
'text!templates/skillsPopup.html', //for templates you should prepend the path with !text
'common'
], function ($, _, Backbone, SkillsTemplate, Common, Skills)
{
'use strict';

var FilterView = Backbone.View.extend({

el: $("#skillsPopup"), //set this to the element where the template will be rendered upon

skills :
[{
"skillCode": "Mechanical Engineer",
"skillDescription": "Mechanical Engineer"
},
{
"skillCode": "Air Conditioning Engineer",
"skillDescription": "Air Conditioning Engineer"
},
{
"skillCode": "Electrical Engineer",
"skillDescription": "Electrical Engineer"
}],



template: _.template(SkillsTemplate),

// setup the view to listen to its counterpart model for changes
initialize: function ()
{
this.render();
},

// render template onto the view
render: function ()
{
this.$el.html(this.skills);
return this;
}
});

return FilterView;
});

模板

<div id="test">
<% console.log(skills); %>
</div>

错误

ReferenceError: skills is not defined

console.log(skills);

我已经看过几个 Backbone 教程,但我看不出我犯了什么错误。

最佳答案

您应该将上下文传递给您的模板,而不是 jQuery 的 html 方法:

this.$el.html(this.template({ skills: this.skills }));

关于javascript - Backbone.js 中未定义将数据传递给 View 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30353106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com