gpt4 book ai didi

javascript - 无法使用 Backbone.Marionette 访问模型属性

转载 作者:行者123 更新时间:2023-11-28 09:24:32 26 4
gpt4 key购买 nike

我在使用项目/复合 View 访问模型属性时遇到了一些问题。在我的 ItemView 中,我拥有所有模型属性数据,但是当我想要输出 <%=username%> 时在我的 html/模板中什么也没有。

我不知道为什么这不起作用。通常代码和我的一样简单。

要点:https://gist.github.com/e6e68b525468606bd039或如下:

index.html:

<section>
<%= test %>
<ul class="thumbnails" id='userslist'></ul>
</section>

<script type="text/template" id="usertemplate">
Username: <%= username %>
</script>

测试.咖啡:

define [ 'jquery', 'underscore', 'backbone', 'marionette', 'text!templates/us/index.html' ], ( $, _, Backbone, Marionette, TPL) ->

class UserView extends Backbone.Marionette.ItemView
template : '#usertemplate'
tagName : 'li'
className : 'span2'

initialize: ->
console.log 'm:', @model.attributes

class UsPageView extends Backbone.Marionette.CompositeView
template : _.template TPL
itemView : UserView

itemViewContainer: "#userslist"

initialize: (options) ->
@collection = options.collection
@collection.fetch()

appendHtml: (cView, iView, idx) ->
cView.$(@itemViewContainer).append iView.el

serializeData: ->
test: 'ok'

UsPageView

console.log 打印:Object { username: "Foo" }

最佳答案

我找到了一个临时解决方案:- 我使用模板代码创建一个新文件:

  // --- members.html
Username: <%= username %>

我像这样更改了我的 ItemView 类:

define [ 'jquery', 'underscore', 'backbone', 'marionette', 'text!templates/us/index.html', 'text!templates/us/members.html' ], ( $, _, Backbone, Marionette, TPL, M) ->

class UserView extends Backbone.Marionette.ItemView
tagName : 'li'
className : 'span2'

template: (serializedModel) =>
_.template M, @model.toJSON()

class UsPageView extends Backbone.Marionette.CompositeView
template : _.template TPL
itemView : UserView
itemViewContainer : "#userslist"

initialize: (options) ->
@collection = options.collection
@collection.fetch()

appendHtml: (cView, iView, idx) ->
cView.$(@itemViewContainer).append iView.el

UsPageView

这个解决方案对我有用。对于我最初的问题,似乎是当我想要恢复我的模板原始文本时。通常 $('#usertemplate').text() 返回带有所有 '<%= ... %>' 的模板数据,但没有。我不知道为什么。

如果有人找到解决方案,我仍然感兴趣:)

关于javascript - 无法使用 Backbone.Marionette 访问模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14566944/

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