2

考慮下面的代碼片段在Ember.js書面車把:#如果語句拋出類型錯誤:節點未定義

<script type="text/x-handlebars" id="courses/selectedCourse"> 
    <div id="selectedCourse"> 

    {{#if IsRegistered}} 
     <div class="XX"> 
      Registered for the course 
     </div> 
     {{else}} 
      <div class="YY"> 
       <button {{action registerForCourse}}>Register</button> 
      </div> 
    {{/if}} 

     <h1>{{courseTitle}}</h1>    
     <div class="selectedCourseItem">    
      <img id="selectedCourse" {{bindAttr src="imageUrl"}}/> 
     </div> 

    </div> 
</script> 

Issue1:註冊爲一療程後的內容是沒有得到刷新。

問題2:在更改選定的課程幾次時,內容會顯示兩次並重疊。

以下是我在Firebug看到消息:

TypeError: node is undefined

[Break On This Error]

node.unchain(key, path);

如果我刪除#if聲明,一切正常。

我在做什麼錯?

回答

2

我也有類似的問題,並通過使參數的第一個字母if語句小寫

{{#if isRegistered}} 
+0

值得注意的是,我對第一個字符的大寫變量有同樣的問題。使第一個字母小寫確定了問題。瘋狂! – JamesG 2014-03-21 17:32:09

0

Ember公司正在根據約定的假設,即大寫的屬性名稱表明全球範圍內的固定它。您可以選擇將變量名稱修改爲小寫,或者限定參考。例如,如果該物業位於您的型號上,則可以使用

{{#if model.isRegistered}} 

以避免此錯誤。

相關問題