[번역] 파 트 4 - FlickrView: 설정 보기 구현
http://dojotoolkit.org/documentation/tutorials/1.9/mobile/flickrview/part4/
전편
FlickerView: Implementing FeedView 저 희 는 Feed view 를 실현 하고 JSON 이 요청 한 데 이 터 를 사용 하여 ScrollabeView 를 업데이트 합 니 다.이 편 은 Settings view 가 각종 입력 위 젯 (TextBox, Switch, RadioButton) 의 get 과 set 를 어떻게 처리 하 는 지, 그리고 점프 이 벤트 를 사용 하 는 지 에 주목 합 니 다.
SettingsView 속성
우 리 는 작은 위 젯 참조 와 현재 언어 선택 만 유지 해 야 합 니 다.
return declare([ScrollableView], {
feedView: '',
tagInput: '',
selectSwitch: '',
selectedLanguage: '',
//... SettingsView 시작
우리 가 FeedView 에서 시작 하 는 방법 과 같이: 부모 호출 방법 과 속성 초기 화:
startup: function () {
this.inherited(arguments);
this.feedView = registry.byId("feed");
this.tagInput = registry.byId("tags");
this.selectSwitch = registry.byId("select");
// ...
} 동시에 유용 한 getters 와 setters 방법 을 추가 합 니 다.
setTags: function (tags) {
this.tagInput.set('value', tags);
},
getTags: function () {
return this.tagInput.get('value');
},
setTagMode: function (tagmode) {
this.selectSwitch.set('value', (tagmode === "all") ? "on" : "off");
},
getTagMode: function () {
return (this.selectSwitch.get('value') === "on") ? "all" : "any";
} dojox / mobile / switch 는 두 가지 상태 가 있 습 니 다. on 과 of. 우 리 는 모든 설정 을 on 상태 에 대응 하고 ANY 는 off 상태 에 대응 하려 고 합 니 다.
계속 시작 하 는 방법 입 니 다. 사용자 가 단일 선택 항목 을 클릭 할 때 선택 한 언어 를 유지 하 는 방법 을 만 듭 니 다.dojo / on 의 이 강력 한 특성 은 이 기능 을 실현 할 수 있 습 니 다.
even delegation with selector .
// handler to record the selected feed language
this.on("[name=feedLanguage]:click", lang.hitch(this, function (e) {
this.selectedLanguage = e.target.value;
})); 이제 뭐 해요?
Done 단 추 를 추가 하 는 방법:
// handler to update search query parameters when done button is selected
registry.byId("doneButton").on("click", lang.hitch(this, function () {
// we are done with the settings: transition to FeedView
this.performTransition("feed");
// check if anything changed in the setting view
if (this.getTags() !== flickrview.QUERY.tags ||
this.getTagMode() !== flickrview.QUERY.tagmode ||
this.selectedLanguage !== flickrview.QUERY.lang) {
// update QUERY
flickrview.QUERY.tags = this.getTags();
flickrview.QUERY.tagmode = this.getTagMode();
flickrview.QUERY.lang = this.selectedLanguage;
// force FeedView list refresh
this.feedView.refresh()
}
})); 프로 그래 밍 이 이 루어 진 변환 이기 때문에 작은 위 젯 자체 의 자동 변환 기능 을 끄 고 moveto: '\ #' 을 사용 합 니 다.
<!-- Settings view -->
<div id="settings"
data-dojo-type="flickrview/SettingsView">
<div data-dojo-type="dojox/mobile/Heading"
data-dojo-props="fixed: 'top', label: 'Settings'">
<span data-dojo-type="dojox/mobile/ToolBarButton"
id="doneButton"
data-dojo-props="label:'Done', moveTo:'#', transition:'none'" style="float:right;"></span> 마지막 단계 가 완성 되 었 다!
응답 변환 이벤트
Dojo Mobile 에서 그룹 제공
관련 이벤트 변환 시작 방법 에서 이벤트 beforetrationin 의 처리 방법 을 설정 하여 설정 보기 로 전환 할 때 알림 을 받 습 니 다.
// handler to get notified before a transition to the current view starts
this.on("beforeTransitionIn", lang.hitch(this, function () {
this.setTags(flickrview.QUERY.tags);
this.setTagMode(flickrview.QUERY.tagmode);
this.selectedLanguage = flickrview.QUERY.lang;
registry.byId(this.selectedLanguage).set('checked', true);
})); 이 처리 방법 에서 저 희 는 보기 의 입력 위 젯 을 업데이트 하고 QUERY 대상 에서 실제 값 을 가 져 옵 니 다.
청소 코드
이 튜 토리 얼 의 앞부분 에서 우 리 는 먼저 모델 응용 을 만 들 었 습 니 다. 이것 은 가장 좋 은 실천 입 니 다. 모델 부터 빠 르 고 간편 하 게 사용자 체험 을 할 수 있 습 니 다.
HTML 의 모델 코드 제거
현재 우리 의 응용 이 이미 완성 되 었 기 때문에 모든 정적 모델 코드 를 제거 할 수 있다.이렇게 하면 코드 의 양 을 줄 이 고 깨끗 한 코드 를 얻 을 수 있다.
개발 할 때 사용 하 는 캐 시 차단 탭 을 제거 하여 장치 에 캐 시 를 허용 합 니 다.
<!-- prevent cache -->
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache"> 성 공 했 어!
축하!당신 은 이미 완전한 Dojo Mobile 응용 프로그램 을 개 발 했 습 니 다. 다음 편 (본 튜 토리 얼 마지막 편) 은 어떻게 응용 을 제품 화 하 는 지 알려 줄 것 입 니 다.
View Demo
원본 코드 다운로드
다운로드 하 다.
Part 4 - FlickrView: Implementing SettingsView .
============================================
Part 4 END
next
Part 5 - Build FlickrView for production
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fortinet FortiWeb Web Application Firewall Policy BypassFrom: Geffrey Velasquez Date: Wed, 2 May 2012 20:33:23 -0500...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.