Как заставить повторно отобразить пользовательский вид текстового поля?принудительное повторное отображение пользовательского текстового поля
я создаю:
App.Select2View = Ember.TextField.extend({didInsertElement:function() {//plugin called here}});
Она включена в виде шаблона и когда форма открыта, и я выбираю другой/другой элемент, этот вид пользовательских TextField (на основе выбора 2) не повторно но остается неизменным.
У меня есть вложенные маршруты/ресурсы. Компания под компаниями. Когда я выбираю компанию, у меня есть кнопка «Только для чтения» и кнопка «Редактировать», которая, если щелкнуть, вызывает действие на контроллере Компании в состоянии «isEditing», в этом состоянии форма открыта. Если я изменю состояние на false, оно вернется к модели только для чтения (просмотр информации о компании).
Это нормально, если я сначала вернул его в режим только для чтения, а затем открыл другой элемент, а select2 - с данными этих компаний.
Но если он находится в состоянии isEditing, с открытой формой и я перехожу к другому элементу компании, все поля ввода формы меняются в соответствии с моделью (например, имя будет меняться, потому что оно привязано к значению ключевого значения модели компании) но select2 остается прежним.
Я не уверен, как переделать это в Ember.
Это определяется как парциальное в шаблоне под основным видом шаблона компании:
<script type="text/x-handlebars" id="company/_edit">
<p>{{input type="text" value=name}}</p>
<p>
{{view "select2"
prompt="Search for companies"
resource="results"
displayKey="text"
onSelect="addCompany"
onDeSelect="removeCompany"
}}
</p>
</script>
Все указатели оценили.
Можете ли вы создать провал? Это люди ответят на ваш вопрос. emberjs.jsbin.com – blessenm
уверен, но это должно быть приостановлено, поскольку я столкнулся с другими проблемами, которые могут быть частью проблемы. если я проясню это, я опубликую jsbin. в основном моя проблема заключается в том, что когда я нажимаю на другой элемент в состоянии «edit», форма отображает для этого элемента данные с заполненными данными, но select2 не перезаписывает. То, что я сделал временно, чтобы решить это, - добавить метод «beforeModel» в CompanyRoute и выполнить: this.controllerFor («компания»). Send ('cancel'), который отменяет состояние редактирования: this.set ('isEditing ', правда); для отмены в хеше действий на CompanyController. –
, а затем, когда я нажимаю на кнопку редактирования, она отобразит вид формы с выделенным select2. –