角度とfirebaseを使用して新しいものを作成し、データベースからデータを取得してスコープに送信し、次にng-repeatを使用するコントローラを作成しようとしています。私のコードは次のとおりです。それは私がデータベースに持っているデータを印刷し、それは動作しますが、とき:「内部」角度コントローラを使用してFirebaseからデータを取得
var todoApp = angular.module('todoApp', ['todoApp.controllers','ui.router','firebase']);
todoApp.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'templates/home.html'
});
});
var todoControllers = angular.module('todoApp.controllers', ['firebase']);
todoControllers.controller('homeCtrl',function($scope){
db.ref("imagenes").on('value', function (snapshot) {
//asignamos a la variable del controlador
$scope.imagenes = snapshot.val();
console.log('inside: ' +$scope.imagenes);
});
console.log('outside: '+$scope.imagenes);
});
<!-- AngularJS -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular.min.js"></script>
<!-- Firebase -->
<script src="https://www.gstatic.com/firebasejs/3.6.6/firebase.js"></script>
<!-- AngularFire -->
<script src="https://cdn.firebase.com/libs/angularfire/2.3.0/angularfire.min.js"></script>
この例では、私はそれがあるとき、私が受け取るかを確認するにconsole.logを使用していますそれは '外側:'です。これは未定義を表示するので、htmlでは未定義です。
助けてもらえますか? ありがとう!
こんにちは、それは完璧に機能しました。また、あなたが何について言ったのか、一度は助けてくれてありがとう! – user3851474