绑定不适用于Angular.js和Firebase简单登录

逃避

与Angular一起使用时,Firebase Simple Login出现一些奇怪的行为。

我无法按预期方式绑定$ scope变量。我认为$ scope.test或$ scope.test在成功登录后将发生变化,但事实并非如此。即使登录后也保持为假。鉴于这是我的第一个Angular项目,所以我猜这很简单,但是我四处张望,没有找到答案。

代码很简单。首先是HTML:

<body ng-app>
    <div ng-controller="LoginController">
        <div ng-hide="test">
            <h1>Welcome.  Please log in.</h1>
            <p>Test is {{test}}</p>
            <label>Username</label>
            <input type="text" ng-model="username" />
            <label>Password</label>
            <input type="password" ng-model="password" />
            <button ng-click="login()">Log in</button>
        </div>
        <button ng-show="test" ng-click="logout()">Log out</button>
    </div>

    <script type='text/javascript' src='https://cdn.firebase.com/js/client/1.0.6/firebase.js'></script>
    <script type='text/javascript' src='https://cdn.firebase.com/js/simple-login/1.2.5/firebase-simple-login.js'></script>
    <script type="text/javascript" src="js/lib/angular.js"></script>
    <script type="text/javascript" src="js/controllers/LoginController.js"></script>
</body>

和一个控制器:

function LoginController($scope) {
    var FB = new Firebase("https://[myfirebase].firebaseio.com");
    $scope.user = false;
    $scope.error = false;
    $scope.test = false;

    $scope.auth = new FirebaseSimpleLogin(FB, function(error, user){
        if(error) {
            $scope.error = error;
        } else if(user) {
            // would expected binding to take effect here, but not
            $scope.user = user;
            $scope.test = true;
        } else {
            console.log("no user");
        }
    });

    $scope.logout = function() {
        this.auth.logout();
    };

    $scope.login = function () {
        console.log("Attempting login");
        this.auth.login('password', {
            email: this.username,
            password: this.password
        });
    };
}

感谢任何能为我指明正确方向的人。

菲尔·普赖斯

您需要使用$scope.$apply()来让angular知道您已经更改了示波器上的某些内容。将第3方库与受监视的作用域变量集成时,需要执行此操作。

$scope.auth = new FirebaseSimpleLogin(FB, function(error, user){
    $scope.$apply(function() {
        if(error) {
            $scope.error = error;
        } else if(user) {
            // would expected binding to take effect here, but not
            $scope.user = user;
            $scope.test = true;
        } else {
            console.log("no user");
        }
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Highcharts:Formatter和click函数不适用于Angular

来自分类Dev

Highlight.js不适用于Angular 2

来自分类Dev

Angular JS验证不适用于Bootstrap的预输入

来自分类Dev

Angular.js set href不适用于指令

来自分类Dev

Angular JS不适用于Chrome扩展

来自分类Dev

angular js 不适用于选择元素的选项

来自分类Dev

Chrome 扩展程序不适用于 Angular JS

来自分类Dev

登录测试不适用于 ArgumentCaptor

来自分类Dev

ViewModel和View之间的MvvmCross绑定不适用于按钮

来自分类Dev

Readline绑定不适用于Control和Shift修改器

来自分类Dev

WPF双向绑定不适用于CheckBox和List <string>

来自分类Dev

Kotlin 上的 Butterknife 不适用于绑定颜色和可绘制对象 AndroidX

来自分类Dev

宽度的bootstrap进度栏样式不适用于角度js绑定变量

来自分类Dev

kickout.js检查的绑定不适用于bootstrap data-toggle =“ toggle”

来自分类Dev

Node.js API-适用于Postman,但不适用于Angular.js

来自分类Dev

angular js,asp.net mvc:$ http仅适用于ApiController而不适用于普通Controller吗?

来自分类Dev

angular js,asp.net mvc:$ http仅适用于ApiController而不适用于普通Controller吗?

来自分类Dev

Firebase 登录不适用于较低的 android 版本

来自分类Dev

jQuery if和语句不适用于and

来自分类Dev

AddFavorite JS不适用于Chrome

来自分类Dev

代码不适用于JS Fiddle

来自分类Dev

图表 JS 不适用于日期

来自分类Dev

list.js排序和视图更改不适用于angular

来自分类Dev

Node.js核心模块fs不适用于webpack和angular2 cli

来自分类Dev

Facebook登录不适用于hello.js

来自分类Dev

Facebook登录不适用于hello.js

来自分类Dev

Angular UI Router:后退按钮不适用于简单代码

来自分类Dev

切换按钮不适用于AngularJS和Angular ui Bootsrap

来自分类Dev

Angular验证消息不适用于ng-show和两个输入

Related 相关文章

  1. 1

    Highcharts:Formatter和click函数不适用于Angular

  2. 2

    Highlight.js不适用于Angular 2

  3. 3

    Angular JS验证不适用于Bootstrap的预输入

  4. 4

    Angular.js set href不适用于指令

  5. 5

    Angular JS不适用于Chrome扩展

  6. 6

    angular js 不适用于选择元素的选项

  7. 7

    Chrome 扩展程序不适用于 Angular JS

  8. 8

    登录测试不适用于 ArgumentCaptor

  9. 9

    ViewModel和View之间的MvvmCross绑定不适用于按钮

  10. 10

    Readline绑定不适用于Control和Shift修改器

  11. 11

    WPF双向绑定不适用于CheckBox和List <string>

  12. 12

    Kotlin 上的 Butterknife 不适用于绑定颜色和可绘制对象 AndroidX

  13. 13

    宽度的bootstrap进度栏样式不适用于角度js绑定变量

  14. 14

    kickout.js检查的绑定不适用于bootstrap data-toggle =“ toggle”

  15. 15

    Node.js API-适用于Postman,但不适用于Angular.js

  16. 16

    angular js,asp.net mvc:$ http仅适用于ApiController而不适用于普通Controller吗?

  17. 17

    angular js,asp.net mvc:$ http仅适用于ApiController而不适用于普通Controller吗?

  18. 18

    Firebase 登录不适用于较低的 android 版本

  19. 19

    jQuery if和语句不适用于and

  20. 20

    AddFavorite JS不适用于Chrome

  21. 21

    代码不适用于JS Fiddle

  22. 22

    图表 JS 不适用于日期

  23. 23

    list.js排序和视图更改不适用于angular

  24. 24

    Node.js核心模块fs不适用于webpack和angular2 cli

  25. 25

    Facebook登录不适用于hello.js

  26. 26

    Facebook登录不适用于hello.js

  27. 27

    Angular UI Router:后退按钮不适用于简单代码

  28. 28

    切换按钮不适用于AngularJS和Angular ui Bootsrap

  29. 29

    Angular验证消息不适用于ng-show和两个输入

热门标签

归档