2014-12-27 2 views
0

공식 티타늄 설명서 (http://docs.appcelerator.com/titanium/latest/#!/guide/Creating_Your_First_Titanium_App)의 "첫 번째 응용 프로그램"을 다시 작성했지만 다시 추가하면 새 책이 왜 시각화되지 않는지 이해할 수 없습니다 앱.티타늄 - 저장 한 모델 추가 및 저장

새 모델을 저장하는 방법이 book.save이 아니십니까? book.save에 관한 공식 문서에서

책을 컬렉션에 추가하고 데이터베이스에 보관하십시오.

업데이트 : 여기 내 코드입니다. 공식 문서와 동일합니다. 이이이 bookview.js이기도하지만이 책의 세부 정보를 볼 수있다 index.xml

<Alloy> 
<Collection src="books"/> 
<Window class="container"> 

    <!-- Add TableView and TableViewRow --> 
    <TableView dataCollection="books"> 
     <TableViewRow title="{title}" author="{author}" onClick="showBook" ></TableViewRow> 
    </TableView> 

    <Menu id="menu" platform="android"> 
     <MenuItem id="addBook" title="Aggiungi un libro" onClick="addBook" showAsAction="Ti.Android.SHOW_AS_ACTION_IF_ROOM" /> 
    </Menu> 

</Window> 

입니다 index.js

var myBooks = Alloy.Collections.books; 

var book = Alloy.createModel('books', { 
    title : 'Great Expectations', 
    author: 'Charles Dickens' 
}); 

myBooks.add(book); 
book.save(); 

function showBook (event){ 
    var selectedBook = event.source; 
    var args = { 
     title: selectedBook.title, 
     author: selectedBook.author 
    }; 
var bookview = Alloy.createController("bookdetails", args).getView(); 
bookview.open(); 

} 

$.index.open(); 

입니다.

+1

코드를 표시하십시오. – seebiscuit

+0

코드를 추가했습니다. 미안하지만, 링크 된 페이지의 문서와 동일하기 때문에 필요하지 않다고 생각했습니다. 감사. – strano

답변

1

나는보고 한 문제와 코드 하나의 문제 :

문제 : 당신의하는 index.js가 가져올 문을 누락 후하는 index.js에 다음 줄을 추가하려고

$있는 .index .열다();

myBooks.fetch();

페치는 영구 저장소에서 데이터를 가져옵니다. index.js에이 행을 추가하면 창이 열릴 때 테이블이 채워집니다.

걱정 사항 : 새 책을 추가 할 코드를 추가하지 않았습니다. 새 책 코드를 추가하려면 collection.add() 및 model.save() 유형의 행을 포함해야합니다. 이렇게하면 현재 컬렉션에 새 책이 추가되고 책이 목록에 표시됩니다. 또한 영구 저장 장치에 책을 저장하므로 장치에 저장됩니다.

마크

+0

고마워요! 도움이되었다! – strano