シンプルなRactiveアダプタを作成して、Color Thief(http://lokeshdhakar.com/projects/color-thief/)の値を定義済みのひげ剃りのテンプレートに解析しようとしています!これをよりよく達成するための方法が、私は、アダプタのルートを使用している理由のための理由がある)"TypeError:RactiveJSアダプタでプロパティ 'VibrantImg'を設定できません
私は私がこれまでhere持っているもののデモを設定している - このRACTIVEコード部:
var colorThief = new ColorThief();
var img2 = document.getElementById('ctimage');
var imgColor;
Ractive.adapt.CTImg = {
filter: function (object) {
return object instanceof img2;
},
wrap: function (ractive, img2, keypath, prefixer) {
// Setup
return {
teardown: function(){
colorThief.destroy();
},
get: function(){
imgColor = colorThief.getColor(img);
},
set: function(property, value){
ractive.set('mainColor', imgColor);
},
reset: function(value){
}
}
}
};
var ractive = new Ractive({
target: '#container',
template: '#template',
adapt: [ 'CTImg' ],
data: {
mainColor: "rgb(97, 79, 112)" // this is what should be returned
}
});
私の目的は、Codepen(上の)で与えられたイメージから目立つ色を取得し、それをRactive(そしてアダプタによってColor Thiefに渡す)、関連する口ひげで画面に結果の色を出力します。
テンプレートにハードコードされた色のOKを表示することができるので、データキーパス/参照がOKであることがわかります。しかし、私の問題は、色泥棒からアダプター経由で色が戻ってきていることです。私が取得しているエラーはUncaughtです。 "TypeError:未定義のプロパティ 'CTImg'を設定できません。
私はSOとRactive Githubのサイトをチェックして、何がうまくいかないのか理解できるかどうか確認しましたが、頭が回転し始めています!
少なくとも、Color Thiefからアダプター経由で戻ってくる色を手に入れることができますか?
:など
、カスタムオブジェクトに値を設定し
set
、RACTIVEに値を返すget
ここで更新例です。 'VibrantImg'は提供されたコードにも存在しません。あなたが完全な例を提供することができれば、それは素晴らしいことでしょう。 – Josephおっと - 申し訳ありませんが、私のせいです!コードは良いですが、参照 "VibrantImg"は同じ結果を達成するために別のライブラリを使用することでしたが、成功しませんでした。エラーが修正されました。あなたが私に完全なHTMLマークアップ/口ひげコードを投稿する必要があるかどうか教えてください。 –