簡體   English   中英

未捕獲的TypeError:無法讀取未定義的屬性'fn'

[英]Uncaught TypeError: Cannot read property 'fn' of undefined

我有一個主干應用程序,希望在觸發時顯示視圖。 當我單擊錨點時,控制台顯示: Uncaught TypeError: Cannot read property 'fn' of undefined我檢查了此類其他問題,他們說未加載jQuery? 跆拳道? 我不明白...

我的菜單視圖:

var LeftMenuView = Backbone.View.extend({

template: Handlebars.compile(Template),

events: {
'click li a.artAll': 'artAll',
},

artAll: function(event) {
   event.preventDefault();
   var artAllRouter = new Backbone.Router();
   var route = '/artists/top100/all';
   artAllRouter.navigate(route, {trigger: true});
}
....

控制台告訴我該錯誤根源於handlebars.js嗎?

我的HTML模板:

<div>
{{#each}}
<p>
    <a href="#">{{artist_name}}</a>
</p>
{{/each}}
</div>

和我的看法:

define(['backbone','handlebars', 'text!templates/TopAllArtists.html'],

function(Backbone,Handlebars, Template) {

var TopAllArtView = Backbone.View.extend({

    template: Handlebars.compile(Template),

    initialize: function () {
        _.bindAll(this, 'render');
    },

            render: function() {
               var self = this;
               self.collection.each(function(model){
                    self.$el.append(self.template({
                        artist_name:model.get('artist_name')
                        })
                    );
               });

                return this;
            }

        });

    return TopAllArtView;
    }
 );

有人知道這可能是什么問題嗎?

根據“ 把手”文檔each一個each需要一個列表進行迭代,

<ul class="people_list">
  {{#each people}}
  <li>{{this}}</li>
  {{/each}}
</ul>

是否需要重復藝術家姓名?

如果model.get('artist_name')是可迭代的,則['name1', 'name2', ...]

<div>
{{#each artist_name}}
<p>
    <a href="#">{{this}}</a>
</p>
{{/each}}
</div>

如果model.get('artist_name')是字符串'Johann Sebastian Bach'

<div>
<p>
    <a href="#">{{artist_name}}</a>
</p>
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM