Я строю тест-скрипт, который запускает таймер, выполняет некоторые случайные операции, а затем закрывает таймер и сообщает, сколько времени потребовалось для выполнения. Это то, что я до сих пор:Sencha Touch 2 - Порядок выполнения/приоритет
Ext.define('project.view.test', {
extend: 'Ext.Panel',
xtype: 'test',
config: {
styleHtmlContent: true,
scrollabe: 'vertical',
title: 'test',
tpl: '<p id="time"></p>'
},
initialize: function() {
this.measureTime();
},
measureTime: function() {
var startTime=new Date();
a = 2;
for(i=0; i<1000; i++) {
a = a*a*a*i;
}
var b=Math.floor((new Date()-startTime)/100)/10;
document.getElementById('time').innerHTML = b;
}
});
Проблема здесь в том, что я получаю ошибку:
Uncaught TypeError: Cannot set property 'innerHTML' of null
Моя догадка, что HTML р-тег визуализируется после JS-кода казнены. Это правда? Я думал, что сценарий был выполнен с помощью операции, а htmlcode находится выше js-кода, что делает меня довольно запутанным.
Я попытался поместить javascript в тег html/tpl (в конфиге). Он удаляет ошибку, но ничего не выписывается. Зачем? Какой порядок выполняет все и как это исправить?
Документы о свойствах 'tpl' говорят« ** Примечание ** [данные] (http://docs.sencha.com/touch/2-1/#!/api/Ext.Component-cfg-data) должна быть установлена для любого содержимого, которое будет отображаться в компоненте при использовании этой конфигурации ». поэтому возможно, что из-за этого вы получаете неожиданные результаты. – jprofitt