Как вызвать функцию JS в представлении из модели в MVC? - PullRequest
0 голосов
/ 29 мая 2019

Я настраиваю приложение NET.ASP, используя модель MVC, и я столкнулся с проблемой активации функции, уже написанной на странице Razor, которую необходимо активировать после загрузки страницы, после некоторой вычисления. В этом случае моя модель получает и анализирует некоторые данные в фоновом режиме, чего должен ждать JavaScript. Цель состоит в том, чтобы использовать эти данные для построения списка, показывающего его.

Я довольно уверен, что если у меня нет способа запуска сценария, уже написанного на странице из модели, мне придется написать и активировать при загрузке страницы функцию JavaScript, которая будет периодически проверять, является ли логическое значение в Для модели задано значение true, и если да, то для активации рассматриваемой функции загрузки данных. Вопрос в том, когда - есть ли способ запустить скрипт из модели?

К сожалению, каждое решение этой проблемы, с которым я сталкивался, предназначено для веб-форм или каким-либо образом использует элементы управления.

Вот код:

<html>
<head>
    <script type="text/javascript" language="javascript">
        function showDataMined()
        {
            // Do things
        }

        function checkDataReady()
        {
            // Sleep for 3 seconds then if Model.dataReady call showDataMined()
            // Is this really the best practice?
        }
    </script>
</head>
<body>
    // Stuff
</body>
</html>

Я просто хочу вызвать showDataMined, когда модель готова к ее вызову. Есть ли способ сделать это без периодической проверки на наличие логического значения? Возможно, как-то с шаблоном Observer?

1 Ответ

0 голосов
/ 29 мая 2019

бросить его во IIFE ("сомнительно"). IIFE - это выражение для немедленного вызова функции. Это в основном автоматически вызывает себя .. следовательно () в конце

(function(){ 
    function showDataMined()
    {
        // Do things
    }

    function checkDataReady()
    {
        // Sleep for 3 seconds then if Model.dataReady call showDataMined()
    }
})();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...