Невозможно привязать переменную области видимости к элементу html в угловых js - PullRequest
0 голосов
/ 25 марта 2019

Я получаю какое-то значение типа "ОТКРЫТЬ" или "ЗАКРЫТЬ" из функции $scope.getPIRData, которое храню в $scope.pirstatus, я пытаюсь показать это в теге HTML-заголовка <h1> {{pirstatus}}</h1>, но его нетпоказывать что-либо в щелчке кнопки во время ее работы с javascript document.getelementbyid.

 <!DOCTYPE html>
    <html ng-app="PIR_Detection">
    <head>
        <meta charset="utf-8" />
        <title>PIR Door Monitoring</title>
        <script>document.write('<base href="' + document.location + '" />');</script>
        <script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.4.12/angular.js" data-semver="1.4.9"></script>
    </head>
    <body ng-controller="myCtrl">
        <div class="col-sm-4 col-lg-offset-4" ng-controller="myCtrl">
            <select class="form-control" ng-model="sel_val" ng-change="getPIRData(sel_val.deveui)" ng-options="data.deveui for data in Customers">Select PIR Device</select>
        </div>
        <br />
        <span style="font-size:14px" id="pirstatus"></span>
        <h1> {{pirstatus}}</h1>
        <span ng-bind="pirstatus"></span> 
        <script>
            var app = angular.module('PIR_Detection', []);
            app.controller('myCtrl', function ($scope, $http, $window) {
                $scope.sel_val = 0;
                $scope.DefaultLabel = "Loading.....";
                var post = $http({
                    method: "get",
                    url: "../data.json",
                    dataType: 'json',
                    data: {},
                    headers: { "Content-Type": "application/json" }
                });
                post.success(function (data, status) {
                    $scope.Customers = data;
                });
                post.error(function (data, status) {
                });
                $scope.getPIRData = function (id) {
                    var url = "/PIRDetails/GetPIRStatus/" + id;
                    $http.get(url)
                        .then(function (response) {
                            $scope.myWelcome = response.data;
                            $scope.pirstatus = base64toHEX($scope.myWelcome.dataFrame);
                            document.getElementById("pirstatus").innerHTML = $scope.pirstatus;
                        });
                };
            });


        </script>

    </body>
    </html>

1 Ответ

0 голосов
/ 25 марта 2019

Вы можете попробовать с атрибутом ng-bind в AngularJS. В вашем коде ниже должно работать, если вы измените тег h1 <h1 ng-bind="pirstatus"></h1> Пожалуйста, обратитесь к этому примеру - https://www.w3schools.com/angular/tryit.asp?filename=try_ng_ng-bind

...