최근 부트 스트랩이 포함 된 축소판 갤러리를 구현했으며 더 큰 크기의 팝업으로 이미지를 열 수 있기 위해 모달을 사용하고 싶습니다.Emberjs는 배열 모음에서 하나의 값을 얻습니다.
지금까지 모달이 트리거되었지만 클릭 한 이미지에 대해 특정 값을 표시하는 방법을 알 수 없습니다.
이 내 섬네일 세대 :
여기<div class="row">
{{#each value in images}}
<div class="col-md-4">
<a class="thumbnail" data-toggle="modal" data-target="#myModal">
<img src="data:{{unbound value.mimeType}};base64,{{unbound value.image}}">
</a>
</div>
{{/each}}
</div>
내 모달 (아주 기본적인 일) :
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">title of my image</h4>
</div>
<div class="modal-body">
Images here
</div>
</div>
</div>
</div>
내 모달 내부에 표시하는 하나 개의 특정 값을 검색하기 위해 핸들과 수 있습니까?
나는 js에서 그것을하는 방법을 알았지 만, ember와 handlebars는 다소 힘들었다.
[편집] 내 페이지 조회의 컨트롤러 :
App.EnquiryController = Ember.ObjectController.extend({
isUpdating: false,
actions: {
showUpdateForm: function() {
this.setProperties({ isUpdating: true });
},
customerUpdate: function() {
this.setProperties({ isUpdating: false});
var data = this.get('model');
var obj = {
customerName: data.enquiry.customerName,
customerEmail: data.enquiry.customerEmail,
customerPhone: data.enquiry.customerPhone
};
console.log(obj);
Ember.$
.post(host + '/enquiry/' + data.enquiry.id, obj, function(data) {
console.log('DEBUG: Updating customer data OK');
});
},
cancelCustomerUpdate: function() {
this.setProperties({isUpdating: false});
},
tradeInUpdate: function() {
var data = this.get('model');
var obj = {
mileage: data.tradeIn.mileage,
valuationPrice: data.tradeIn.valuationPrice
};
console.log(data);
Ember.$
.post(host + '/enquiry/' + data.enquiry.id + '/tradeIn', obj, function(data) {
console.log('DEBUG: Update TradeIn OK')
})
},
summaryUpdate: function() {
var data = this.get('model');
var obj = {
deposit: data.totals.deposit,
discount: data.totals.discount
};
Ember.$
.post(host + '/enquiry/' + data.enquiry.id, obj, function(data) {
console.log('DEBUG: Update Summary OK');
});
console.log(obj);
}
}
});
내가 거기 숨기고 그것을 보여 탭 부트 스트랩을 사용하여 데이터 표시를 많이 가지고있다.
[EDIT2] 오류 :
Uncaught TypeError: Object function() {
if (!wasApplied) {
Class.proto(); // prepare prototype...
}
o_defineProperty(this, GUID_KEY, undefinedDescriptor);
o_defineProperty(this, '_super', undefinedDescriptor);
var m = met...<omitted>...t'
나는 좋은 이미지 링크를 가지고하지만 난 내 컨트롤러에서 뷰에서 컨트롤러 변수 ..
var ClientView = Em.View.extend({
actions: {
selectItem : function(item) {
console.log(item.uri);
App.EnquiryController.set("imageSrc", item.uri);
}
}
});
{{#view ClientView}}
<div class="row">
{{#each value in images}}
<div class="col-md-4">
<a class="thumbnail" data-toggle="modal" data-target="#myModal" {{action "selectItem" this.value target="view"}}>
<img src="data:{{unbound value.mimeType}};base64,{{unbound value.image}}">
</a>
</div>
{{/each}}
</div>
{{/view}}
을 설정할 수 없습니다 [EDIT3] :
App.EnquiryController = Ember.ObjectController.extend({
imageSrc: null
});
컨트롤러를 게시하면 하나의 해결책을 제시 할 수 있습니다. 나는 일반적으로 모달을 열고 모 델을 "selectedItem"과 같은 컨트롤러 속성에 바인딩 한 다음 모달 핸들 막대 템플릿에서 사용합니다. 나는 또한 액션 메소드 내에서 모델 주위를 지나치지 않도록 콜렉션을 반복 할 때 아이템 컨트롤러를 설정하는 것을 선호한다 ... –
나는 나의 컨트롤러로 당신을 위해 포스트를 편집했다. – SuperMarco