我对使用phonegap
和EmberJS
感到困惑,在构建phonegap应用时,我通常会使用以下步骤:
index.js
并初始化应用
醇>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" > app.initialize(); </script>
现在,当我尝试合并phonegap和EmberJs时,我会像上面的步骤那样做,但是我在index.js中添加了对ember的调用,如:
var app =
{
initialize: function() {
this.bindEvents();
},
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function()
{
window.App = Ember.Application.create({LOG_TRANSITIONS: true});
},
receivedEvent: function(id) {
},
};
在这一点上,我得到了以下错误:
Uncaught Error: Assertion Failed: You cannot use the same root element (body) multiple times in an Ember.Application
所以,我创建的ember应用程序没有phonegap的常见结构,它在index.js中意味着我只是把
window.App = Ember.Application.create({LOG_TRANSITIONS: true});
并且index.html jus提供了引用
<script type="text/javascript" src="js/index.js"></script>
这是有效的,但我使用NFC
+ geoposition
并且我看到它合并{{strong> ver非常慢(比较,如果你只使用phonegap) {1}}和phonegap
我在某些控制器中使用以下代码来使用NFC +地理位置,也许这就是“麻烦”
EmberJs
所以
启动应用nfc.addTagDiscoveredListener(
function(nfcEvent)
{
var $this=self;
var tag = nfcEvent.tag;
var tagNFC = nfc.bytesToHexString( tag.id );
var geo = navigator.geolocation.watchPosition(
function(position)
{
var lt = position.coords.latitude;
var lg = position.coords.longitude;
//I use a tagNFC to send via ajax to call SOAP web service
//......
},
function(status){
},
function(error){
}
);
},
function(status){
},
function(error){
console.log("NFC reader failed to initializer: "+JSON.stringify(error));
}
);
和应用phonegap
的最佳方式是什么?
在EmberJS控制器内使用和NFC + Geoposition手机插头的最佳方法是什么?
一次调用nfc + geoposition的方法是什么?因为我总是看到我的应用程序在nfc + geoposition方法中停止并生成一个循环到reed标签nfc。
EmberJS
js和phonegap
感谢。