Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Ext.mixin.Bindable.applyBind(): Cannot use bind config without a viewModel (https://javascript.ru/forum/extjs/62773-ext-mixin-bindable-applybind-cannot-use-bind-config-without-viewmodel.html)

khusamov 28.04.2016 18:49

Ext.mixin.Bindable.applyBind(): Cannot use bind config without a viewModel
 
Вставил links в модель вида:

Ext.define("Element.view.cuttingList.CuttingListModel", {
	
	extend: "Ext.app.ViewModel",
	alias: "viewmodel.cutting-list",
	
	links: {
		employee: {
			type: "Employee",
			id: 100
		}
	},
...


И получил в итоге ошибку: Ext.mixin.Bindable.applyBind(): Cannot use bind config without a viewModel

Причем create: true работает без ошибок:

employee: {
		type: "Employee",
		create: true
}


Что тут может быть не так???

https://www.sencha.com/forum/showthr...odel&p=1133935

Infarch 29.04.2016 09:14

А можно пример в фидле, а то пока не совсем понятно что не так.

khusamov 29.04.2016 12:31

Вроде нашел проблему.
Похоже Ext.ux.ajax.SimManager скрывает все запросы, которые без него видны на вкладке Network отладочной панели браузера Хром. Когда я в Ext.ux.ajax.SimManager добавил симлет для Employee проблема пропала.

Вопрос, как сделать, чтобы Ext.ux.ajax.SimManager не скрывал запросы, для которых нет симлетов?

Infarch 29.04.2016 15:37

Извините, а как может жаваскрипт что-либо скрыть в отладочной панели? Это уже из области фантастики по моему. Проверяйте настройки сетевого монитора, может фильтр какой мешает.

khusamov 29.04.2016 15:38

Я подключил симуляцию запросов. А при этом запросы на сервер не производятся, а ответы на них симулируются. Потому эти запросы на вкладке Network не отображаются.

khusamov 29.04.2016 15:58

Сделал такой овер для просмотра какие были запросы посланы и что было получено в ответ:

Ext.define("Override.ux.ajax.Simlet", {
	
	override: "Ext.ux.ajax.Simlet",
	
	exec: function(xhr) {
		var me = this;
		var result = me.callParent(arguments);
		
		console.groupCollapsed(xhr.method, xhr.url.split("?")[0], result.status, result.statusText);
		
		var getParams = xhr.url.split("?")[1];
		if (getParams) console.log("Параметры:", getParams);
		
		if (result.responseText) try {
			console.log("Ответ сервера:", JSON.parse(result.responseText));
		} catch (error) {
			console.log("Ответ сервера:", result.responseText);
		}
		
		console.log("Ext.ux.ajax.SimXhr:", xhr);
		
		console.groupEnd();
		
		return result;
	}
	
});


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