显示页面、删除内容和重新填充出现问题-可能是多重绑定
problems displaying page, deleting contents and repopulating - could this be multiple binding?
我有一个手机应用。
由2个屏幕组成。第一个是捕获用户第二个是用于显示数据。
这个想法是收集屏幕1上的凭据。
然后使用凭据进行ajax调用以获取数据并将其呈现屏幕2为一系列链接。
然后允许用户触摸屏幕2上的链接。这会将链接数据返回给javascript,并将其传递给ajax调用并获得更多数据-然后删除屏幕2上的所有数据,并用新数据重新填充。
我要找出的第一件事:是显示一个页面与移动。changepage(),填充它,删除内容,然后重新填充它(没有另一个调用移动。changepage())一个合理的事情要做吗?
我遇到了一个问题,我认为这与我在<a>
每次显示最近接收到的数据时,我都想在<a>
中显示它。我编写每个onclick调用getData例程传递信息,以确定下一个ajax和<a>
中显示的任何内容。我能想到的唯一访问它的方法是在onclick。
有更好的方法吗?
我能够很好地显示第一个ajax调用的结果。但是第二个,第三个等等,事情就变得奇怪了。
有时我会触摸一个链接,然后我将按照我的期望在屏幕上继续前进。
有时我会在第一个结果屏幕上触摸<a>
,第二个结果屏幕将显示,然后(没有我从第二个屏幕选择数据)第三个屏幕将显示。
我已经查看了日志,getData()例程正在执行。
是什么原因导致的?我是不是没有正确地销毁所有的<a>
?我使用onclick的方式不是设计的吗?我应该使用按钮样式看起来像链接而不是<a>
下面是我的代码:
"use strict";
var app = {
onDeviceReady: function() {
$('#startButton').click(function(){
app.getDeptsForUser();
});
},
getDeptsForUser: function(){
var parms = new Object();
parms.userName = assignedUser;
app.getData(JSON.stringify(parms),"ENDPOINT1", "Departments");
$.mobile.changePage("#index", { transition: 'slide' });
},
getData: function(paramStr, endpoint, displayHeader){
var paramStrObj = JSON.parse(paramStr);
var serverName = server + ":" + port;
var encoded = Base64().encode(paramStrObj.userName + ':' + pass);
var authType = 'Basic ' + encoded;
var option = endpoint+"?action=start¶ms=" + paramStr;
var URL = serverName + "/rest/bpm/wle/v1/service/"+option;
$.ajax({
url: URL,
type: "POST",
crossDomain: true,
jsonp: "callback",
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", authType);
},
success: function (result) {
console.log("MobileMockUp getData() ajax success result="+JSON.stringify(result));
if (endpoint === "ENDPOINT1"){
app.displayData(paramStr, endpoint,"Departments", result.data.data.depts.items);
}
else if (endpoint === "ENDPOINT2"){
app.displayData(paramStr, endpoint,displayHeader, result.data.data.checklists.items);
}
else if (endpoint === "ENDPOINT3"){
app.displayData(paramStr, endpoint,displayHeader, result.data.data.checks.items);
}
},
error: function(jqXHR, textStatus, errorThrown) {
alert('Unable to retrieve '+displayHeader);
},
});
},
displayData: function(currParms,currEndPt, headerText, list){
var nextEndpt;
var nextHeaderText;
var currParmsObj = JSON.parse(currParms);
if (currEndPt === "MD@getDeptsForUser"){
nextEndpt = "MD@getCheckLists";
nextHeaderText = "Check Lists";
}
else if (currEndPt === "MD@getCheckLists"){
nextEndpt = "MD@getChecks";
}
var htmlListString="";
var parmObj;
var newLink;
$('#headerText').text(headerText);
for (var i = 0; i < list.length; i++){
parmObj = new Object();
if (currEndPt === "ENDPOINT1"){
parmObj.userName=currParmsObj.userName;
parmObj.dept=list[i];
}
else if (currEndPt === "ENDPOINT2"){
parmObj.userName=currParmsObj.userName;
parmObj.dept=currParmsObj.dept;
parmObj.checklist=list[i];
}
else if (currEndPt === "ENDPOINT3"){
nextHeaderText = list[i];
}
var str = JSON.stringify(parmObj);
str = str.toString().replace(/"/g, '''"');
newLink = "<a style='background:#ffffff;padding-top:5%;border-top: thin solid black; display:block;font-size:12px;font-weight:normal;color:#000000;text-decoration: none;' href='#' onclick='app.getData('""+str+"'",'""+nextEndpt+"'",'""+nextHeaderText+"'")'><pre>" + list[i] + " </pre></a><br>";
htmlListString=htmlListString+newLink;
}
$('#taskListUL').empty();
$('#taskListUL').append(htmlListString);
}
};
这可能是多重绑定吗?
我发现这是多重绑定
相关文章:
- ng绑定和ng href问题.ng href未从控制器加载数据
- 绑定的角度ng-max问题
- 性能问题:通用选择器与单独绑定
- 使用AngularJS UI路由器时出现元素绑定问题
- 数据互绑定问题:转换器只运行一次,无法绑定元素的 ID
- 挖空和显示模块模式的数据绑定问题
- 使用大括号的 Internet Explorer 上的 AngularJS 数据绑定问题
- backbone.js绑定问题
- SAPUI5绑定问题:json文件中维护的列表项链接不起作用
- 绑定的Javascript问题
- 将事件绑定到Bootstrap 3(button.js)按钮无线电时出现问题
- 将javascript绑定到提交按钮时出现问题
- Aurelia类的问题.使用checked.bind绑定
- AngularJS:图片上传+文件阅读器预览.控制器、指令和作用域之间的绑定出现问题
- 挖空 - 单击绑定到对象函数 - 范围问题
- Angular JS(嵌套变量)中的绑定问题
- 触摸事件的挖空事件绑定导致滚动问题
- JavaScript setInterval 范围问题:绑定的替代方案
- 击倒剑道问题绑定通过计算观察
- 奇怪的问题绑定事件与骨干,“;这个“;没有更新