2013-02-27 3 views
0

웹 UI가있는 다트 응용 프로그램을 빌드하고 네트워크를 통해 새 HTML 템플릿 (클라이언트 측 템플릿)을 동적으로로드하는 좋은 방법이 있습니까?다트 + 웹 UI 및 동적 클라이언트 측 템플릿

<head> 
    <!-- this will be transformed by WebUI compiler to *_generated.js code --> 
    <link rel="components" href="common_templates.html"> 
    </head> 

답변

0

현재 WebUI를 사용하여 템플릿을 동적으로로드하고 처리 할 수 ​​없습니다. WebUI는 미리 템플릿을 처리해야합니다. 나는 @ChrisBuckett 다른 대답/의견에서 좋은 제안 갈 것이라고 생각 : 사용 가능한 지연로드를 사용할 수 있습니다.

또 다른 미친 아이디어는 앱으로 web-ui 컴파일러를 출시하고 브라우저에서 템플릿을 처리하는 것입니다. web-ui는 현재 dart2js로 컴파일 될 수 없으므로 (dart : io에 대한 의존성이 일부 있음) 현재로서는 불가능합니다. 가설 적으로 가능하다면 여분의 템플릿을 운송하는 것보다 훨씬 더 큰 작업이 될 것입니다. 따라서, 귀하의 목표가 초기 다운로드를 줄이려는 것이라면,이 아이디어는 중단없는 것입니다.

+0

그래, 내 애플 리케이션과 웹 UI를 컴파일러를 사용하여 생각하지만, 당신 말이 맞아 - 이건 정말 미친거야 : D 어쨌든 - 그것은 현재 구현을 위해 그것을 할 수있는 방법이 없다는 것입니다 Dart + WebUI 그리고 난이 대답을 수락 . – abdolence

1

내가 동적 기반으로 페이지의 콘텐츠 섹션에 새로운 내용을로드 한 페이지 응용 프로그램을 위해 노력하고 있습니다 :

그것은 .js 파일 * 항상 생성과 함께로드되는 웹 UI 템플릿처럼 보인다 왼쪽에서 선택한 메뉴. 콘텐츠 섹션은 WebUi 구성 요소에서 채워지지만 동적으로 발생하며 클라이언트 측에서 발생합니다. 메뉴에는 다음과 같은 것이 있습니다.

 <li> <a href="#/active">Active</a> </li> 
     <li> <a href="#/completed">Completed</a> </li> 

여기서 메뉴 항목을 클릭 할 때 응용 프로그램이 해시에 응답합니다. 그들은 ToDo 앱의 WebUi 구현에서 비슷한 것을합니다.

콘텐츠에는 선택한 메뉴를 기반으로 WebUi 구성 요소를로드하는 조건부 템플릿이 있습니다.

이것은 사용자가 염두에 두지 않은 것일 수 있습니다. 제가 여기서 벗어나면 자세한 내용을 제공해주십시오.

+0

죄송합니다. 그러나 이것은 내가 찾고있는 답변이 아닙니다. WebUi에 적합한 새로운 템플릿을 동적으로 _로드하려고합니다. 하나의 페이지에 모든 템플릿이 잘로드되지 않습니다. 물론 서버 측의 많은 페이지로 나눌 수 있지만 서버 측 템플릿이 필요합니다. – abdolence

+2

"한 페이지에 모든 템플릿이 적합하지 않습니다."-이 버그를 추적하는 데 관심이있을 수 있습니다 : http://dartbug.com/3940 - dart2js의 출력을 분할하여 당신의 앱. web-ui에만 국한되지는 않지만 동적으로로드되는 작은 부분으로 앱을보다 일반적으로 분할 할 수 있습니다. –

+1

@ChrisBuckett - 감사합니다! 이것은 정말로 흥미 롭습니다. – abdolence

0

이제 Dart 코드의 지연된로드를 수행 할 수 있습니다. 클라이언트 쪽 템플릿이 다트 소스로 구현 된 경우 DeferredLibrary 클래스를 사용할 수 있습니다.

더 자세한 기사는 다트 웹 사이트 articles section에 곧 표시 될 것입니다.