EXTJS7 解決無法綁定父組件ViewModel問題

小編:管理員 321閱讀 2022.09.07

子組件vm(VIewModel)初始化時會自動將父組件的vm設置為parent 如果子組件的vm初始化時子組件v(View)尚未add到父組件v上,則子組件的vm.parent為null且不會在view add后再設置為父組件vm(只讀),此時子組件元素無法綁定到父組件vm

Ext.defaine('a',{
	controller: {	
		// Ext.create后會調用此函數
		init: function(v){
			// 此操作會觸發vm初始化,導致vm在未完成b.add(a)時就初始化,vm.parent: null,不建議在此處操作VM
			var store = v.getViewModel().getStore();
		},
		// viewModel初始化后會調用此函數,vm會延遲到被使用時才初始化,例如綁定數據的組件渲染后加載數據,此時組件父子關系一般已經建立
		initViewModel: function(vm){
			// 建議對vm的操作放到此處避免vm被提前初始化
		}
	},
	viewModel: {
		stores:{
			store1:{}
		}
	}
});

var a = Ext.create('a');
b.add(a);
復制
關聯標簽:
亚洲国产欧美图片,亚洲aⅴ在线av,日韩亚洲综合图片视频,日本av精品在线中文