javascript - How to convert AngularJS scope object into simple JS array? -


how convert angularjs scope object simple js array?

this function checks if checkbox checked , adds corresponding value object. want transfer object values array , alert after press button. result undefined, why?

var formapp = angular.module('formapp', [])        .controller('formcontroller', function($scope) {            // store our form data in object          $scope.formdata = {};                  });    var array = object.keys(formdata).map(function(k) { return obj[k] });    function test(){    alert(array);  }
<-- index.html -->  <!doctype html>  <html>  <head>        <!-- css -->      <!-- load bootstrap , add spacing -->      <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">      <style>          body         { padding-top:50px; }          form         { margin-bottom:50px; }      </style>        <!-- js -->      <!-- load angular , our custom script -->      <script src="http://code.angularjs.org/1.2.13/angular.js"></script>      <script src="app.js"></script>  </head>    <!-- apply our angular app , controller -->  <body ng-app="formapp" ng-controller="formcontroller">  <div class="col-xs-12 col-sm-10 col-sm-offset-1">        <h2>angular checkboxes </h2>        ...        <!-- multiple checkboxes -->      <label>favorite colors</label>      <div class="form-group">          <label class="checkbox-inline">              <input type="checkbox" name="favoritecolors" ng-model="formdata.favoritecolors.red"> red          </label><br>          <label class="checkbox-inline">              <input type="checkbox" name="favoritecolors" ng-model="formdata.favoritecolors.blue"> blue          </label> <br>          <label class="checkbox-inline">              <input type="checkbox" name="favoritecolors" ng-model="formdata.favoritecolors.green"> green          </label>      </div>    ...            <!-- show off our formdata object -->      <h2>formdata_object_is_not_empty-test</h2>      <pre>         {{formdata}}      </pre>       <button onclick="test()">click me</button>   </div>  </body>  </html>

try this:

var formapp = angular.module('formapp', [])  .controller('formcontroller', function($scope) {      // store our form data in object     $scope.formdata = {};     var array = object.keys($scope.formdata).map(function(k) { return obj[k] });     // wait formdata change , alert     settimeout(function() {         alert(array);     }, 2000);   }); 

angular made in way not allowed access scope variables outside controller.

if want have array debug information, use browser plugin angularjs batarang or use console.log(array) instead of alert(array) or try save array in global variable document.array = array, can access in browser console.


Comments

Popular posts from this blog

sql - invalid in the select list because it is not contained in either an aggregate function -

Angularjs unit testing - ng-disabled not working when adding text to textarea -

How to start daemon on android by adb -