2015-04-02 43 views

回答

5

經過多一點研究後,我發現這個樣本https://github.com/telerik/nativescript-sample-cuteness/blob/master/nativescript-sample-cuteness/,它有大量從互聯網下載的圖像。

我使用的是一個名爲的模塊,image-cache可以解決這個問題。

這是我用更精確:

var imageSourceModule = require("image-source"); 
var imageCache = require("ui/image-cache"); 

var cache = new imageCache.Cache(); 
var defaultImageSource = imageSourceModule.fromFile("~/app/res/loading.gif"); 
var defaultNotFoundImageSource = imageSourceModule.fromFile("~/app/res/no-image.png"); 

cache.invalid = defaultNotFoundImageSource; 
cache.placeholder = defaultImageSource; 
cache.maxRequests = 5; 

function displayImage(viewModel, url, propertyName) { 
    var source = cache.get(url); 

    propertyName = propertyName || "image"; 

    if (source) { 
    viewModel.set(propertyName, source); 
    } else { 
    viewModel.set(propertyName, defaultImageSource); 
    cache.push({ 
     key: url, 
     url: url, 
     completed: function (result, key) { 
     if (key === url) { 
      viewModel.set(propertyName, result); 
     } 
     } 
    }); 
    } 
} 

如果有一個更好的解決方案,我會很樂意學習一下吧。

+0

這對我有效。 – 2015-04-02 20:28:54

+0

那麼你如何在視圖@miroslav上展示它? – 2016-05-13 03:27:27

相關問題