我正在使用角度ui-router进行离子应用程序,这是我的代码。问题是控制器初始化发生在Level1Protocols可以发送数据之前。我究竟做错了什么?
function validateForm() {
var x, text;
x = document.forms["form1"]["textEmail"].value;
if (x == null || x == "" || x == "Email") {
text = "Please input your eamail";
document.getElementById("errorEmail").innerHTML = text;
return false;
}
return true;
}
答案 0 :(得分:3)
我相信你的决心必须回报一个承诺。没有什么可以等待,如果它没有返回任何东西。我认为类似下面的代码会起作用。
Level1Protocols: ["Level1", "Protocol", "$q", function (Level1, Protocol, $q) {
var defer = $q.defer();
var protocolData = [],
protocol = new Protocol.Protocol(),
detailData = {};
Level1.loadProtocolData().success(function (response) {
for (var i = 0; i < response.length; i++) {
protocol.title = response[i].Title;
protocol.level = 1;
protocol.icon = Level1.getImageFromArray(response[i].Title);
protocolData.push(protocol);
}
console.log(protocolData);
defer.resolve(protocolData);
});
return defer.promise;
})]