gpt4 book ai didi

javascript - 将数据从 JSON 传递到 Backbone > 模板页面

转载 作者:行者123 更新时间:2023-11-29 15:40:49 26 4
gpt4 key购买 nike

所以,我从一个我继承的项目中得到了这个。

  • 数据的 JSON 字段。

    defaults:{
"coolstuff":{uuid: null},
"coolStartDate":new Date(),
"coolEndDate": new Date(),
"cooldata":'',

"supercool":'', // I am adding this (trying)
},

一些来自其他人的相关 JS:

  offerStart: function() {
var date = this.get('coolStartDate')
return (_.isNull(date)) ? new Date() : helper.formatDate(new Date(date)) ;
},

在标记中找到并调用其他一些数据作为模板;

<%= cooldata %>

我每次尝试获取“超冷”数据都失败了。我尝试了不同的语法,在页面上,在页面外,一切。

我想知道我在 backbone 中必须做什么(我显然是 backbone.js 的新手)

为了通过 JSON 使用我的新数据或数据字段“supercool”并允许它在页面中用作模板。


在这种特殊情况下;一个下拉菜单。

 <div class="form-group">
<select class="form-control filter">
<option><%= supercool %></option>
<option><%= supercool %></option>
</select>
</div>

更新!


这是我目前第一次使用 Backbone.js 进行的尝试,但仍然失败。

( 1.) 模型。 (模型/page.js)

define([
'jquery',
'underscore',
'underscore', // Page > Model
'backbone',
'helpers/helpers',
'bbvalidation'
], function(_, Backbone, Helpers) {
var helper = new Helpers();
var offerModel = Backbone.Model.extend({
urlRoot: "/loyalty/api/supercoolfile",
idAttribute: 'uuid',
url: function() {
return this.urlRoot + '/coolguys/' + this.get("id"); //
},
defaults:{
"supercool": "", // here
},

( 2.) 查看。 (views/dashboard/page.js)

define([
'jquery',
'underscore', // Views -- js/views/page.js
'backbone',
'vm',
'text!templates/dashboard/page.html'
],

template = _.template(<'<p>Name: <%= supercool %> </p>'),

render: function() {
this.$el.html( this.template( this.model.toJSON() ) );
return this;
}

});
});

( 3. ) 将数据拉入模板(尝试)/dashboard/page.html

         <option><%= supercool %></option> 

应该可以,对吧?它们不适合我。


最佳答案

很难确切地说出发生了什么,因为我不确定你所有的代码是如何连接的,但如果你有一个如下所示的渲染函数,它应该为你抓取“supercool”:

template = _.template(<your template here>),

render: function() {
this.$el.html( this.template( this.model.toJSON() ) );
return this;
}

这是假设代码的第一位来自传递到您的 View 的模型。模板将挑选出它需要的数据。

编辑:

单个帖子包含很多内容。 Backbone 项目不需要集合。它的作用是保存一组模型。即你想存储多个报价,而这样做的方法是一个集合。集合将使您能够遍历 View 中的每个模型以呈现它们。此外,您将模型初始化为 offerModel,但将 OfferModel 作为集合中的模型传递。而且我不明白你为什么要重写集合获取方法。

我不确定这是怎么回事,但看起来有一堆不必要的并发症。

第二次编辑:

我创建了一个非常基本的 jsfiddle,它向您展示了如何在没有大部分无关信息的情况下进行渲染:

http://jsfiddle.net/mmerkes/RdbXH/1/

关于javascript - 将数据从 JSON 传递到 Backbone > 模板页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19285821/

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