如何在javascript中获取由id获取的angularjs模块中的元素?

Max*_*tin 5 javascript twitter-bootstrap angularjs

让我们说我有按钮:

<button type="submit"
        value="Send" 
         id="btnStoreToDB"
         class="btn btn-primary start"             
         ng-click="storeDB()"
         ng-disabled="!storeDB_button_state"
         >
                <i class="icon-white icon-share-alt"></i>
                <span>Store to DB</span>
            </button> 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在JS中获取此按钮我只是做了var btn = $('#btnStoreToDB');,现在可以使用此按钮.所以我可以接受id或者class.

但是我怎么能得到这个元素angularjs?

我想在加载过程中向按钮添加微调器,如此处所示(小提琴).

由于我的所有项目我都开始使用angulajs,所以我试着明智地做,并且不喜欢我怎么知道.

我想添加:ng-model="btnStoreToDB"并使用这个:

  if($scope.btnStoreToDB){
      var spinner = new Spinner().spin();
      $scope.btnStoreToDB.appendChild(spinner.el);
  } 
Run Code Online (Sandbox Code Playgroud)

但是$scope.btnStartUpload未定义.假设还有其他方法来获取此按钮.

请帮忙

exc*_*lsr 6

这是一个很好的问题,也是一个很常见的情况.

这样做的角的方法是使用ng-show,ng-hide或ng-class上或您的按钮内.

一个想法可能是这样使用ng-class:

<button ng-class="{ useSpinner: btnStoreToDB }">...</button>
Run Code Online (Sandbox Code Playgroud)

这将useSpinner在btnStoreToDBtrue 时将类添加到按钮,并在btnStoreToDB为false时删除该类.

另一种方法是这样使用ng-show:

<button ...>
    <i class="icon-white icon-share-alt"></i>
    <span>Store to DB</span>
    <div class="spinner" ng-show="btnStoreToDb">...</div>
</button> 
Run Code Online (Sandbox Code Playgroud)

现在你的视图和控制器是分开的,你正在以Angular Way的方式做事.