2017-05-08 9 views
1

私はミスリルには新しく、公式サイトからチュートリアルを理解しようとしています。私は少し例を修正しました。ここにm.requestのないバージョンがあります。下のスニペットはページ上に何も表示しません。これは、非同期アクション後に変更検出(?)がトリガされない場合と同じです。どのように動作させるのですか?ありがとうございました!公式サイトのチュートリアルを理解する

const User = { 
 
    list: [], 
 
    loadList(){ 
 
     //new code starts 
 
     return new Promise((resolve, reject) => { 
 
     setTimeout(function(){ 
 
      User.list.push({name: 'Foo'}, {name: 'Bar'}); 
 
      resolve(); 
 
     }, 1000); 
 
     }) 
 
     //new code ends 
 

 
     /* original code 
 
     return m.request({ 
 
     method: "GET", 
 
     url: "https://rem-rest-api.herokuapp.com/api/users", 
 
     withCredentials: true, 
 
     }) 
 
     .then(function(result) { 
 
     User.list = result.data 
 
     }) 
 
     */ 
 
    } 
 
} 
 
const UserList = { 
 
    oninit: User.loadList, 
 
    view(){ 
 
    return m(".user-list", User.list.map((user) => { 
 
    return m(".user-list-item", user.name) 
 
    })) 
 
    } 
 
} 
 

 
m.mount(document.body, UserList)
<script src="https://cdnjs.cloudflare.com/ajax/libs/mithril/1.1.1/mithril.min.js"></script>

答えて

4

自動再描画機能はsetTimeout後にトリガされません。 m.redraw()で手動でトリガする必要があります。 さらに詳しい情報は、docs

+1

あなたが必要とする情報を見つけたらうれしく思います! – Tivac

関連する問題