国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

angular.js - Ikatan dua hala sudut telah rosak!
伊謝爾倫
伊謝爾倫 2017-05-15 16:52:42
0
4
1024

Tampal kod dahulu:

pengawal:

.controller('FoldController', ['$scope', function ($scope){
    $scope.isFolded = true;   //  標(biāo)志是否折疊的狀態(tài)
}])

arahan:

.directive('fold', function () {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {

            // 只要點(diǎn)擊其中的內(nèi)容,讓其折疊回去
            element.on('click',function () {  
                scope.isFolded = true;
                element.slideUp();
                console.log(scope);             
            });

            // 折疊的函數(shù)                
            function toggleFold(isFold) {

                isFold ? element.slideUp() : element.slideDown();
            }       

            // 監(jiān)視是否折疊,即controller里定義的標(biāo)志
            scope.$watch(attrs.fold, function (isFold) {
                toggleFold(isFold);
            });
        }
    }
})

html:

<nav class="navbar navbar-default" ng-controller="FoldController">
    <p class="container">
        <p class="navbar-header">
            <button type="button" class="navbar-toggle"
             ng-click="isFolded=!isFolded">  
            //  主要是這里  點(diǎn)擊后toggle折疊的標(biāo)志

                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>

            <a href="#/index" class="navbar-brand">Index {{isFolded}}</a>
                                          // 為了方便測試,我將折疊表示顯示出來
        </p>
                                           // 這里用directive控制
        <p class="navbar-collapse collapse" fold="isFolded">
            <ul class="navbar-nav nav">
                <li class="active"><a href="#/index">index</a></li>
                <li><a href="#/about">about</a></li>
                <li><a href="#/contact">contact</a></li>
                <li><a href="#/chatroom">chatroom</a></li>
            </ul>
        </p>

    </p>
</nav>  

Kesan:

Apabila dilipat

Apabila dibuka

Serahan awal selesai, jangkaan saya ialah:

Apabila ia dibentangkan, klik pada kawasan yang dilipat untuk melipatnya semula dan tukar skop.isFold bendera lipat untuk memulihkannya kepada keadaan asalnya,

Soalannya ialah:

Akan ada pepijat, iaitu, saya mengubah suai nilai skop.isFold dan mengesahkan bahawa nilai skop telah ditukar, tetapi nilai asal masih pada halaman, iaitu pengikatan dua hala tidak sah . Lihat gambar di bawah

Dari paparan dalam gambar, kawasan lipatan telah dilipat Output skop.isFold di bawah juga benar, tetapi nilai di bahagian atas halaman adalah palsu . Saya telah mengesahkan pengawal itu betul dengan nilai skop.isFold dalam arahan Hanya halaman ini berlaku secara tidak menentu, yang agak menyedihkan. . .

伊謝爾倫
伊謝爾倫

小伙看你根骨奇佳,潛力無限,來學(xué)PHP伐。

membalas semua(4)
phpcn_u1582

Tambahkan $scope.$apply

pada pengendali acara anda
洪濤
 <p class="navbar-collapse collapse" fold ng-model="isFolded">
            <ul class="navbar-nav nav">
                <li class="active"><a href="#/index">index</a></li>
                <li><a href="#/about">about</a></li>
                <li><a href="#/contact">contact</a></li>
                <li><a href="#/chatroom">chatroom</a></li>
            </ul>
        </p>

js

.directive('fold', function () {
    return {
        require: 'ngModel',
        restrict: 'A',
        link: function (scope, element, attrs) {

            // 只要點(diǎn)擊其中的內(nèi)容,讓其折疊回去
            element.on('click',function () {  
                scope.isFolded = true;
                element.slideUp();
                scope.$digest();
                console.log(scope);             
            });
   .....
     scope.$watch('isFolded', function (isFold) {
                toggleFold(isFold);
            });

為情所困

Penyelesaiannya ialah:

Selepas mengendalikan elemen dom dan mengubah suai nilai atribut pada skop, skop.$apply mengemas kini paparan

element.on('click', function() {
    pe.isFolded = !scope.isFolded;          
    element.slideUp();
    scope.$apply();
})
黃舟

Malah, ramai yang salah faham, iaitu masih menggunakan pemantauan acara elemnet.on dalam fungsi pautan,
Mengapa tidak menggunakan ngClick dan menulis fungsi scope.click dalam pautan?

Melainkan anda menggunakan pemalam jQuery pihak ketiga

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan