2015-09-02 239 views
0

我在本地工作時沒有任何問題,但是當我使用prod時,它給了我這個錯誤。我一直在尋找很久。 錯誤在腳本vendor.js中。Uncaught TypeError:無法讀取undefined屬性'isLegacyViewHelper'

告訴我,如果你想要一些代碼來理解。我不知道我需要展示哪個文件。

感謝

編輯1:

function registerHandlebarsCompatibleHelper(name, value) { 
if (value && value.isLegacyViewHelper) { 
    _emberHtmlbarsKeywords.registerKeyword(name, function (morph, env, scope, params, hash, template, inverse, visitor) { 
    Ember.assert("You can only pass attributes (such as name=value) not bare " + "values to a helper for a View found in '" + value.viewClass + "'", params.length === 0); 

    env.hooks.keyword("view", morph, env, scope, [value.viewClass], hash, template, inverse, visitor); 
    return true; 
    }); 
    return; 
} 

版本: 恩貝爾:1.13.1 灰燼數據:1.13.5

+0

轉到Developer Tools中的行,找到vendor.js問題的哪一行,並嘗試複製導致失敗的代碼片段。另外,你使用哪種版本的Ember和Ember Data? –

+0

發生此錯誤時?你去任何路線或什麼?如果是,那麼請發佈此路由或其組件的模板代碼,也許這裏有錯誤。 –

+0

這個錯誤發生在頁面加載時,在一開始。 –

回答

0

發生此錯誤是因爲我犯了一個錯誤。 在項目投入生產之前,我忘記了包含控制器。

0

的原因可能在{{each}}使用舊的遺留語法例如幫手。即使它應該工作,它也會在我的應用程序中產生渲染錯誤。當我將它重構爲它的新語法時。所以我會建議更新,重新構建Ember指南和博客文章的最新標準語法。所以,基本上嘗試使用:

{{#each model as item}} 

相反的:

{{#each model key='id' as |item|}} 

如果這不會幫助,然後刪除您的模板代碼,以幫助調試此。嘗試縮小可能導致這些錯誤的代碼。例如,刪除application.hbs中的所有HTMLBars代碼,然後查看您的應用是否適用於生產,如果是,則刪除application.hbs以下的代碼並查看它是否有效。這樣你可以追蹤問題。

相關問題