내 응용 프로그램에는 템플릿과 문서가 있습니다. 템플릿에서 문서를 만들 수 있습니다. 즉, 사용자가 템플릿 표시 페이지로 이동하고 버튼을 클릭하고 템플릿에서 미리 채운 문서 텍스트로 새 문서 페이지로 리디렉션 될 수 있습니다. 텍스트가 미리 채워져있을 필요가 있습니다. 서식 파일을 알고있는 문서는 신경 쓰지 않습니다.)프리셋을 작성 컨트롤러에 전달
하지만 새 문서 페이지로 텍스트를 어떻게 전달합니까?
내 응용 프로그램에는 템플릿과 문서가 있습니다. 템플릿에서 문서를 만들 수 있습니다. 즉, 사용자가 템플릿 표시 페이지로 이동하고 버튼을 클릭하고 템플릿에서 미리 채운 문서 텍스트로 새 문서 페이지로 리디렉션 될 수 있습니다. 텍스트가 미리 채워져있을 필요가 있습니다. 서식 파일을 알고있는 문서는 신경 쓰지 않습니다.)프리셋을 작성 컨트롤러에 전달
하지만 새 문서 페이지로 텍스트를 어떻게 전달합니까?
나는 일을 결국 다음
App.Router.map ->
@resource 'documents', ->
@route 'new'
@route 'new_from_template', path: '/new/:template_id'
App.DocumentsNewFromTemplateRoute = Ember.Route.extend
model: (params) ->
model = App.Document.createRecord()
if params.template_id
App.Template.find(params.template_id).then (template) ->
model.set 'text', template.get('text')
model
setupController: (controller, model) ->
if model._reference.type == App.Template
model = @model(template_id: model.id)
@currentModel = model
@controllerFor('documentsNew').set 'model', model
renderTemplate: ->
@render 'documents/new'
그리고 템플릿 새 문서 양식으로 연결하는, 단순히
{{#linkTo 'documents.new_from_template' template}}Create a document{{/linkTo}}
을 당신은 컨트롤러에서 작업 정의 할 수 있습니다 :
을App.TemplateRoute = Em.Route.extend({
model: function() {
return Em.Object.create({
name: "A Template",
values: {title: "Templated Title"}
});
}
});
App.TemplateController = Em.ObjectController.extend({
goToNewDocument: function() {
var o = Em.Object.create(this.get('values'));
o.set('source', 'Template');
App.Router.router.transitionTo('newdoc', o);
}
});
App.NewdocRoute = Em.Route.extend({
model: function() {
return Em.Object.create({title: "Default Title", source: "Model hook"});
}
});
당신이 지금까지 시도한 것에 대한 몇 가지 코드를 보여 주면 도움이 될 것입니다. – intuitivepixel
방금 막혔습니다. 나는 그것을 구현할 수있는 방법에 대해 하나의 아이디어를 가지고 있지만, 그것은 끔찍한 것이다. 기본적으로, 나는 템플릿 ID를 받아들이는 별도의/새로운 라우트를 만들고 NewController가 "정상적인"모든 일을하는 별도의 컨트롤러를 만들지 만 템플리트에서 텍스트를 복사한다. 나는 그것을 생각조차하기에는 너무 이상하다고 생각하며, 다른 옵션을 생각할 수 없다. –
내 질문에 대한 답변을보십시오 (http://stackoverflow.com/questions/17496726/a-properway-to-separate-concerns/17497890#17497890)이 질문에도 적용됩니다. – intuitivepixel