Javascript 在单击时添加div内容

Javascript 在单击时添加div内容,javascript,angularjs,angularjs-scope,firebase,angularjs-controller,Javascript,Angularjs,Angularjs Scope,Firebase,Angularjs Controller,我正在做一个异步调用点击一个按钮,并希望添加标签。 我还使用了s.$apply()-我是JS/Angular JS新手。我可以得到类似功能的帮助/提示吗?我在show/hide上发现了一些示例,但没有任何更新dom的示例。 谢谢 控制器代码: angular.module('solr').controller('SolrController', ['$scope', 'Solr', '$http', function ($scope, Solr, $http) {

我正在做一个异步调用点击一个按钮,并希望添加标签。 我还使用了s.$apply()-我是JS/Angular JS新手。我可以得到类似功能的帮助/提示吗?我在show/hide上发现了一些示例,但没有任何更新dom的示例。 谢谢

控制器代码:

    angular.module('solr').controller('SolrController', ['$scope', 'Solr', '$http',
        function ($scope, Solr, $http) {
            var s = $scope;
            s.dataPresent=false;

            s.policies = function(){
                    Solr.getDocuments(s.searchStr).then(function(data){
                         $scope.dataPresent=true;
                         $scope.test="done";
                        console.log(data);
                        $scope.data= data;
                    })
                }
                }
    ]);
HTML片段粘贴在下面

        <div class="navbar-default sidebar" role="navigation">
    <div class="sidebar-nav navbar-collapse">
        <ul class="nav" id="side-menu">
            <li class="sidebar-search">
                <div class="input-group custom-search-form" ng-controller="SolrController">
                    <input type="text" class="form-control" ng-model="searchStr" placeholder="Search...">
                            <span class="input-group-btn">
                            <button class="btn btn-default" type="button" ng-click="policies()">
                                <span class="glyphicon glyphicon-search"></span>
                            </button>
                        </span>
                </div>
                <!-- /input-group -->
            </li>
        </ul>

    </div>
</div>
    </div>
    <div class="col-sm-10" ng-show="dataPresent">Test</div>
ng控制器
指令使用新作用域初始化控制器 在已放置指令的元素的上下文中可用

ng show
指令对
dataPresent
变量一无所知,因为它不在
ng控制器
div内,您应该确保
Test
div应该在
SolrController
div内

标记

<section data-ng-controller="SolrController">
    ...other html here..
    <div class="navbar-default sidebar" role="navigation">
        <div class="sidebar-nav navbar-collapse">
            <ul class="nav" id="side-menu">
                <li class="sidebar-search">
                    <div class="input-group custom-search-form">
                        <input type="text" class="form-control" ng-model="searchStr" placeholder="Search...">
                        <span class="input-group-btn">
                            <button class="btn btn-default" type="button" ng-click="policies()">
                                <span class="glyphicon glyphicon-search"></span>
                        </button>
                        </span>
                    </div>
                    <!-- /input-group -->
                </li>
            </ul>

        </div>
    </div>

    <div class="col-sm-10" ng-show="dataPresent">Test</div>
</section>

…这里有其他html。。
试验
div被“”包装,尝试过的“Test”仍然不起作用。已使用$apply方法更新我的问题tried@patb23你误会我了。如果没有
ng控制器,你
ng show
div将是
Test
,非常感谢你的回答和解释。我将ng controler保留在“Section”级别,它起了作用。@patb23很高兴能帮助您。。谢谢:)在这里看不到与Firebase的关系。这里连一行Firebase代码都没有。
<section data-ng-controller="SolrController">
    ...other html here..
    <div class="navbar-default sidebar" role="navigation">
        <div class="sidebar-nav navbar-collapse">
            <ul class="nav" id="side-menu">
                <li class="sidebar-search">
                    <div class="input-group custom-search-form">
                        <input type="text" class="form-control" ng-model="searchStr" placeholder="Search...">
                        <span class="input-group-btn">
                            <button class="btn btn-default" type="button" ng-click="policies()">
                                <span class="glyphicon glyphicon-search"></span>
                        </button>
                        </span>
                    </div>
                    <!-- /input-group -->
                </li>
            </ul>

        </div>
    </div>

    <div class="col-sm-10" ng-show="dataPresent">Test</div>
</section>