【问题标题】:Calling function in Ionic controller after data loaded加载数据后在 Ionic 控制器中调用函数
【发布时间】:2016-02-24 07:26:31
【问题描述】:

我正在从 firebase 提取数据,并根据数据调整显示不同的图像。我的数据需要时间才能返回,而我写的条件没有做任何事情,因为它在数据返回之前运行。数据加载后如何调用该函数?我在ionicView Docs 上尝试了一切。我也试过 window.onload 但这不起作用。提前感谢您的帮助。

var firebaseRef = new Firebase("https://app.firebaseio.com/files/0/" + $stateParams.theId);

firebaseRef.once('value', function(dataSnapshot){

var dumData = dataSnapshot.val().data;
//this is just an integer 

    if (dumData > 3){
        document.getElementById("pic").style.backgroundImage = 'url(img/pic2.png';
    }

  //Please ignore syntax errors as they do not exist in original code

【问题讨论】:

  • 请发布一些代码,至少您是如何获取数据和显示数据的,以便我们提供帮助。
  • 感谢您的回复@Avinash,我添加了一些 sn-p。谢谢
  • @J.Doe 你使用了回调或承诺。

标签: javascript ionic-framework firebase


【解决方案1】:

您的问题与离子无关。

once 返回一个承诺。所以你应该使用success 回调来处理你的数据。

来自Firebase once documentation

// Provide a failureCallback to be notified when this
// callback is revoked due to security violations. 
firebaseRef.once('value',
  function (dataSnapshot) { 
  // code to handle new value
}, function (err) {
  // code to handle read error
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    相关资源
    最近更新 更多