[avalon]data-repeat-rendered循環渲染完畢后的回調函數


有些時候需要在渲染完畢后,引用其他類似JQ插件的初始化工作。這時候需要使用data-repeat-rendered的回調函數。

應用場景:

在metro-start界面下,需要給每個tile引用click-transform的效果。如果使用avalon的ms-repeat構造出來的tiles,是沒有這個效果的。

解決方案:

使用data-repeat-rendered回調函數。

data-repeat-rendered: function(action, offset, length)
//this指向當前DOM元素
//action: 操作,比如'del'
<a ms-attr-href="el.Url" target="_blank" ms-repeat="systems" data-repeat-rendered='subSystemsRendered'>
    <div data-click="transform" class="tile bg-darkOrange">
        <div class="tile-content icon">
            <i class="icon-new-tab-2"></i>
        </div>
        <div class="brand">
            <div class="label">{{el.Name}}</div>
        </div>
    </div> <!-- end tile -->
</a>

在VM定義中:

var subSystemVm = avalon.define({
    $id: "subSystemVm",
    hasSubSystem: false,
    firstSystem: {},
    systems: [],
    subSystemsRendered: function() {
        $(this).find('[data-click=transform]').tileTransform();
    },
    ...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM