Javascript sails.ejs文件中的主干视图
我正在尝试访问sails框架中的主干视图。我从服务器获取数据,并试图将它们推送到DOM。实际上,我已经为标记创建了一个模型控制器,我将数据从mongo存储到标记模型,然后返回到标记视图的url。我想将这些数据显示到我的DOM元素中。我正在努力寻找如何在船帆上做到这一点,因为我收到的是未定义的错误。我的DOM元素代码如下所示:Javascript sails.ejs文件中的主干视图,javascript,dom,backbone.js,view,sails.js,Javascript,Dom,Backbone.js,View,Sails.js,我正在尝试访问sails框架中的主干视图。我从服务器获取数据,并试图将它们推送到DOM。实际上,我已经为标记创建了一个模型控制器,我将数据从mongo存储到标记模型,然后返回到标记视图的url。我想将这些数据显示到我的DOM元素中。我正在努力寻找如何在船帆上做到这一点,因为我收到的是未定义的错误。我的DOM元素代码如下所示: 51| <div id="profiles" class = 'hashTagsCloud'> 52| <scri
51| <div id="profiles" class = 'hashTagsCloud'>
52| <script id="profileTemplate" type="text/template">
>> 53| <%= tagsCloud.tags.join("     ")%>
54| </script>
55| </div>
tagsCloud is not defined
[
{
tstamp: 1366626103000,
tagsCloud: {
sort: "asc",
tags: [
"Lorem ipsum dolor sit amet consectetur"
]
},
id: "529da369380eb213e804a673"
}
]
上面的主干逻辑在apache中很有魅力。然而,在帆船比赛中,我没有得到定义的错误。如何以正确的方式定义索引文件中tagsCloud项的视图??
我的json文件如下所示:
51| <div id="profiles" class = 'hashTagsCloud'>
52| <script id="profileTemplate" type="text/template">
>> 53| <%= tagsCloud.tags.join("     ")%>
54| </script>
55| </div>
tagsCloud is not defined
[
{
tstamp: 1366626103000,
tagsCloud: {
sort: "asc",
tags: [
"Lorem ipsum dolor sit amet consectetur"
]
},
id: "529da369380eb213e804a673"
}
]
此外,我在homeController文件中添加了一些操作,以便将json数据发送到ejs文件:
index: function (req,res)
{
console.log(req.tags); // tags is the name of the model-controller
res.view({
tags: req.tags
});
},
'home': function (req,res)
{
res.view();
}
为了正确更新索引视图,主干视图代码中有什么我必须更改的吗?最后,我找到了一种从主干向DOM发送获取数据的方法。我在主干代码中更改了模板代码,以便直接将数据发送到DOM元素。这是我的密码:
_.templateSettings = {
interpolate : /\{\{(.+?)\}\}/g
};
var TagsView = Backbone.View.extend({
el: "#profiles",
template: _.template("<div><p>{{ tg.tagsCloud.tags }}</p></div>"),
render: function(eventName) {
_.each(this.model.models, function(tags){
var tagsTemplate = this.template(tags.toJSON());
//push data to obj for map script
tg = tags.toJSON();
// Add data to DOM element
$(this.el).html(tagsTemplate);
}, this);
return this;
}
});
\模板设置={
内插:/\{(.+?)\}\}/g
};
var TagsView=Backbone.View.extend({
el:#配置文件“,
模板:{u.template(“{{tg.tagsCloud.tags}}”,
渲染:函数(eventName){
_.each(this.model.models、function(标签){
var tagsTemplate=this.template(tags.toJSON());
//为地图脚本将数据推送到obj
tg=tags.toJSON();
//向DOM元素添加数据
$(this.el).html(tagsTemplate);
},这个);
归还这个;
}
});