سؤال

آسف إذا تم طرح شيء من هذا القبيل بالفعل ، لكن لا يمكنني العثور على ما أبحث عنه بالضبط.أود أن أستهل السؤال بالقول إنني أشعر أن لدي فهما لائقا لارتباطات المحتوى.أخطط على استخدام طرف ثالث مسج كاروسيل المساعد الذي يتطلب قائمة من العلامات إمغ في ديف من أجل العمل بشكل صحيح.إلى السؤال الفعلي ، دعونا نقول لدي مجموعة من عناوين المواقع إلى الصور في وحدة تحكم التطبيق.نفترض أن المحتوى سوف تحتوي على قائمة عناوين المواقع صالحة إلى الصور الفعلية.

App = Ember.Application.create({});

App.Controller = Em.Object.create({
    content: [{url: 'http://www.google.com'}, {url: 'http://www.yahoo.com'}]
});

App.ImgView = Em.View.extend({
    tagName: 'img'
});

كيف يمكنني ربط سرك من كل صورة إلى ورل الحالي دون تداخل آخر {{عرض}} في #كل?لقد جربت العديد من المجموعات ، لكنني لم أتمكن من وضع إصبعي على الارتباطات الصحيحة.

<div id="foo">
    {{#each App.Controller.content}}
        {{view App.ImgView bindAttr src="this.url"}}
    {{/each}}
</div>

البرنامج النصي المقود أعلاه سوف خطأ خارج ، ولكن أشعر أنه من الأفضل لماذا يمكنني التواصل ما أحاول القيام به.

شكرا مقدما على أي مساعدة.

تحرير:بعد إجراء المزيد من الأبحاث ، صادفت هذه المشكلة هنا.على ما يبدو سركبيندينغ إلى سلسلة كان علة في إمبر-0.9.4 ، وقد تم إصلاحها في إمبر-0.9.5.انتهى بي الأمر بالعودة إلى شيء مثل...

App.ImgView = Em.View.extend({
    tagName: 'div'
});

<div id="foo">
    {{#each App.Controller.content}}
        {{#view App.ImgView contentBinding="this"}}
            <img {{bindAttr src="content.url"}} />
        {{/view}}
    {{/each}}
</div>

حتى أتمكن من الحصول على معالج نقرة على وجهة نظري.أنا أيضا تعديل البرنامج المساعد لاستهداف أيضا الصور داخل الانقسامات داخل # فو.

شكرا لجميع الإجابات.

هل كانت مفيدة؟

المحلول

يبدو أنك تريد: Genacodicetagpre

هل يناسبك ذلك؟

نصائح أخرى

يجب عليك استخدام srcBinding على الخاص بك {{view ... }}.انظر المثال: http://jsfiddle.net/M2S3Z/

إذا كنت ترغب فقط في تقديم صورة ولا تحتاج إلى صورة محددة Ember.View الذي يجعل img العلامة ، وأود أن استخدام الجواب إبرين.

قالب:

<script type="text/x-handlebars" >
    <div id="foo">
        {{#each App.Controller}}
            {{view App.ImgView srcBinding="url"}}
        {{/each}}
    </div>
</script>​

شبيبة:

App = Ember.Application.create({});

App.Controller = Em.ArrayProxy.create({
    content: [{
        url: 'http://www.google.com'},
    {
        url: 'http://www.yahoo.com'}]
});

App.ImgView = Em.View.extend({
    tagName: 'img',
    didInsertElement: function() {
        console.log(this.get('src'));
    }
});​

أفضل استخدام شيء يستفيد من قوة آراء Ember مثل هذا: Genacodicetagpre

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top