两次使用 $bindTo 时遇到问题
Have a trouble with using $bindTo twice
我是 AngularJs 的新手,现在我正在尝试使用 Firebase。
这是我的 Firebase 数据:
pavlovdog
|
---facebook: "facebook.pavlovdog.com"
|
---twitter: "@pavlovdoggy"
还有我的 JavaScript 代码:
angular.module('starter.controllers', ['firebase'])
.controller('DashCtrl', ['$scope','$firebaseObject','$firebaseArray',
function($scope,$firebaseObject,$firebaseArray) {
// Syncing to firebase
var ref = new Firebase("https://#####.firebaseio.com/pavlovdog/");
var syncObject = $firebaseArray(ref);
syncObject.$bindTo($scope, "contacts");
}])
.controller('NewListCtrl',['$scope', '$firebaseObject','$firebaseArray',
function($firebaseObject,$firebaseArray,$scope){
var ref = new Firebase("https://#####.firebaseio.com/pavlovdog/");
var syncObject = $firebaseArray(ref);
syncObject.$bindTo($scope,"newUser");
}])
在 DashCtrl
中一切正常,我可以使用 $scope.contacts
。但在 NewListCtrl
中,模拟代码不起作用。有什么问题?
我在 DashCtrl
之后使用 NewListCtrl
,也许这很重要
从表面上看,第一个问题是 NewListCtrl
.
的依赖注入语法
指定依赖项列表时,顺序很重要。所以这一行:
.controller('NewListCtrl',['$scope', '$firebaseObject','$firebaseArray',
说明 Angular 应该在创建控制器时将三个项目注入到您的控制器中,并且按照特定的顺序。
但是请注意,您的函数参数在此控制器中的顺序不同:
function($firebaseObject,$firebaseArray,$scope)
这肯定会导致您的代码出现问题。你认为的$scope
其实是$firebaseArray
,以此类推。
我是 AngularJs 的新手,现在我正在尝试使用 Firebase。
这是我的 Firebase 数据:
pavlovdog
|
---facebook: "facebook.pavlovdog.com"
|
---twitter: "@pavlovdoggy"
还有我的 JavaScript 代码:
angular.module('starter.controllers', ['firebase'])
.controller('DashCtrl', ['$scope','$firebaseObject','$firebaseArray',
function($scope,$firebaseObject,$firebaseArray) {
// Syncing to firebase
var ref = new Firebase("https://#####.firebaseio.com/pavlovdog/");
var syncObject = $firebaseArray(ref);
syncObject.$bindTo($scope, "contacts");
}])
.controller('NewListCtrl',['$scope', '$firebaseObject','$firebaseArray',
function($firebaseObject,$firebaseArray,$scope){
var ref = new Firebase("https://#####.firebaseio.com/pavlovdog/");
var syncObject = $firebaseArray(ref);
syncObject.$bindTo($scope,"newUser");
}])
在 DashCtrl
中一切正常,我可以使用 $scope.contacts
。但在 NewListCtrl
中,模拟代码不起作用。有什么问题?
我在 DashCtrl
之后使用 NewListCtrl
,也许这很重要
从表面上看,第一个问题是 NewListCtrl
.
指定依赖项列表时,顺序很重要。所以这一行:
.controller('NewListCtrl',['$scope', '$firebaseObject','$firebaseArray',
说明 Angular 应该在创建控制器时将三个项目注入到您的控制器中,并且按照特定的顺序。
但是请注意,您的函数参数在此控制器中的顺序不同:
function($firebaseObject,$firebaseArray,$scope)
这肯定会导致您的代码出现问题。你认为的$scope
其实是$firebaseArray
,以此类推。