AngularJS: ng-mouseover работает, только не в этом случае - PullRequest
0 голосов
/ 16 февраля 2019

Так что в моем коде я сейчас использую ng-mouseover в качестве теста, и, похоже, я это хорошо понимаю.Части HTML с классами .dropdown и .test в приведенном ниже примере дают желаемый результат, представленный в тексте как {{ over }}.

Вот урезанная версия сайта.изготовление.Это в значительной степени демонстрирует проблему, с которой я столкнулся.

<!--main.html-->

<!doctype html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
        <script src="logic.js"></script>
    </head>
    <body ng-app="theapp" ng-controller="main">
        <div class="mainscreen" style="width:auto">
            <div style="padding:1em">
                <div class="dropdown" ng-mouseover="over = 'Header'" ng-mouseleave="over = ''">
                    <span style="font-size:1.5em">{{ t }}</span>
                </div>
                <div ng-repeat="(n, c) in cats" ng-show="c.visibility" ng-mouseover="over = 'This is the one which isn't working, at all...'" ng-mouseleave="over = ''">
                    <p style="font-size:1.5em">{{ n }}</p>
                </div>
                <p class="test" style="font-style: italic;" ng-mouseover="over = 'The Mouse Hover Test'" ng-mouseleave="over = ''">Mouse Hover Test: {{ over }}</p>
            </div>
        </div>
    </body>
</html>
// logic.js

$(document).ready(function(){
    $('.dropdown > span').text("Select a Category");
});

var app = angular.module('theapp', []);
app.controller('main', function($scope) {
    $scope.cats = {
        "One" : {
            "color":"slate",
            "visibility":true
        },
        "Two" : {
            "color":"brown",
            "visibility":true
        },
        "Three" : {
            "color":"orange",
            "visibility":true
        },
        "Four" : {
            "color":"blue",
            "visibility":true
        }
    };
});

Намерение состоит в том, чтобы отобразить название кнопки (показано выше как {{ n }}; прямо сейчас CSS удаленпоэтому он может отображаться только как текст) в тесте наведения мыши, когда курсор перемещается на него.Я знаю, что это возможно при использовании ng-repeat (как видно из ng-mouseover и ng-show не работают ), но в этом случае, что бы я ни пытался, я не получаю любой текст появляется вместо {{ over }} при наведении курсора на кнопки, в отличие от двух других кодовых блоков, которые работают должным образом, и я просто не могу понять, что не так.Я также пытался восстановить программу в Plunker, только чтобы получить точно такой же результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...