Tôi đang tạo một thành phần để gói hộp chọn select2. Mã bên dưới:gọi hành động thành phần ember từ bên trong thành phần
App.FixedSelectComponent = Ember.Component.extend({
actions: {
change: function(value) {
this.set('selectedValue',value);
}
},
didInsertElement : function(){
this.$("#select1").select2().on("change", function(e) {
if ($.isArray(e.val)) {
$.each(e.val, function(index,value) {
console.log("multiple:",value.split('>')[2].split('<')[0]);
// send to change
});
} else {
console.log("single:",e.val.split('>')[2].split('<')[0]);
// send to change
}
});
},
willDestroyElement : function() {
this.$("#select1").select2('destroy');
},
});
tuy nhiên, những gì tôi bị kẹt là gửi dữ liệu mà tôi có trong sự kiện ("thay đổi") sang hành động: thay đổi mà tôi đã xác định, hoặc nếu tôi có thể tự đặt thuộc tính đã chọnValue trong sự kiện bật ("thay đổi")
"this" không phải là thành phần tại dòng "// send to change" - làm cách nào/ở đâu để tham chiếu đến thành phần chính nó vào thời điểm này?
cơ bản những gì tôi đang cố gắng để đạt được là để có được các dữ liệu được truyền đến "thay đổi" sự kiện của Select2 vào bất động sản SelectedValue tôi
nhờ
Điều này có thể hoặc không giải quyết được vấn đề m, nhưng không có gì ở đây để chỉ ra whay nó giải quyết vấn đề, hoặc nơi áp dụng nó. –
Bạn tốt hơn không nên sử dụng các thuộc tính/phương thức riêng vì chúng có thể thay đổi mà không đảm bảo. Sử dụng 'Component.send()' để thay thế. – Lacek