2013-03-21 112 views
1

如何在Sencha Touch视图中使用JS?Sencha Touch 2 - 将javascript添加到视图

Ext.define('project.view.viewexample', { 
extend: 'Ext.Panel', 
xtype: 'asd', 

config: { 
    styleHtmlContent: true, 
    scrollabe: 'vertical', 
    title: 'TITLE!', 
    Html: '<html>code and also JS?' 
} 
}); 

我有htmlcode,其中包括jscode(脚本标签内)。在这个问题上似乎没有用,我说得对吗?我也试过使用tpl,但它不会改变任何东西。

任何人都知道如何正确使用JS?一个更好的选择是在控制器内使用它,但在那种情况下,我不知道如何传递数据。

编辑: 我已经有点接近我认为的解决方案。下面这段代码显然是错误的,但也许有人可以看到我在做什么错:

Ext.define('projext.view.viewexample', { 
extend: 'Ext.Panel', 
xtype: 'gps', 

config: { 
    styleHtmlContent: true, 
    scrollabe: 'vertical', 
    title: 'GPS', 
    tpl: 'Här var det GPS' 
}, 
constructor: function() { 
    this.getPosition(); 
}, 
getPosition: function() { 
    var geo = Ext.create('Ext.util.Geolocation', { 
     autoUpdate: false, 
     listeners: { 
      locationupdate: function(geo) { 
       alert('New latitude: ' + geo.getLatitude()); 
      }, 
      locationerror: function(geo, bTimeout, bPermissionDenied, bLocationUnavailable, message) { 
       if(bTimeout){ 
        alert('Timeout occurred.'); 
       } else { 
        alert('Error occurred.'); 
       } 
      } 
     } 
    }); 
    geo.updateLocation(); 
} 
}); 

回答

1

html配置必须是小写。

Ext.define('project.view.viewexample', { 
    extend: 'Ext.Panel', 

    styleHtmlContent: true, 
    scrollabe: 'vertical', 
    title: 'TITLE!', 
    html: 'define your html' 
}); 
+0

谢谢,我不知道。但是,它不是我的问题的答案,我在哪里放置我的jscode? – Thomas 2013-03-22 07:21:35

+0

什么样的JsCode?你更新了你的OP,这是一个很好的例子。请注意,您需要在这一行中使用'this'关键字:'constructor:function(){this.getPosition();},' – A1rPun 2013-03-22 11:53:48

+0

我试图添加“this”。在构造函数中的方法调用之前。但是我得到“ncaught ReferenceError:getPosition没有定义”。你知道为什么吗? – Thomas 2013-03-25 15:27:57