Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Формула модели вида не успевает получить данные из хранилища (https://javascript.ru/forum/extjs/62788-formula-modeli-vida-ne-uspevaet-poluchit-dannye-iz-khranilishha.html)

khusamov 29.04.2016 17:37

Формула модели вида не успевает получить данные из хранилища
 
Я в модели вида сделал формулу loginedEmployee. Но она не выдает нужную запись, так как банально хранилище не успевает к этому моменту загрузиться.

Как сделать, чтобы когда хранилище загрузится, то все что зависит от формулы loginedEmployee перерисовалось?

Ext.define("Element.view.cuttingList.CuttingListModel", {
	
	extend: "Ext.app.ViewModel",
	
	formulas: {
		loginedEmployee: function(get) {
			return get("loginedEmployeeList").getAt(0);
		}
	},
	
	stores: {
		loginedEmployeeList: {
			model: "Employee",
			autoLoad: true
		}



https://www.sencha.com/forum/showthr...16#post1134016

khusamov 05.05.2016 11:55

Помогите разобраться. Мне ответили:

https://www.sencha.com/forum/showthr...37#post1134337

Can you please share code of how you have bind the loginedEmployee.

Я выслал
items: [{
        xtype: 'numberfield',
        fieldLabel: 'Logined Employee',
        bind: '{loginedEmployee}'
    },


В ответ
Its not the correct way of binding. Pls go through this link
https://docs.sencha.com/extjs/6.0/ap...a_binding.html

И что я там некорректного сделал с binding-ом?

Infarch 06.05.2016 09:40

Видимо нужно указать что именно вы хотите забайндить, имя свойства. Вот как в примере:
bind: {
        html: '<p>Hello {name}</p>',
        width: '{someWidth}'
    }

khusamov 06.05.2016 09:44

для numberfield по молчанию связывается свойство value, которое даже указывать не надо.

Infarch 06.05.2016 16:11

Хм... да. Но вы все же попробуйте, и выставьте дип (https://docs.sencha.com/extjs/5.1/5....nding-cfg-deep). Ведь ссылка на стор не меняется, а значит и вьюмодель не отлавливает момента загрузки. А так стор изменит loadCount, глядишь и сработает ваша связка.

khusamov 10.05.2016 07:59

Попробую конечно. Кстати, он там дал какую-то ссылку, потом почему-то удалил. Там иное обращение к записи:

bind: { 
        title: '{frm.data.items.0.title} this is default title'
}

Цитата:

frm - name of store at viewmodel
data.items - constant
0 - first record
title - name of a field
В документации таких вещей не видел.

Вот ссылка на переписку: https://www.sencha.com/forum/showthr...=1#post1071822

 


Часовой пояс GMT +3, время: 07:42.