javascript - 按钮未在 AngularJs 中显示

标签 javascript angularjs

我在后端使用 Django-rest 编写了前端 Facebook 登录代码以进行验证。但是,我的 HTML 文件中的按钮属性没有显示 这是 AngularJS 中我的文件(HTML)的代码

<!DOCTYPE html>
<html>
<head>
<title>Facebook Login JavaScript Example</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<meta charset="UTF-8">
</head>
<body>
<div id="fb-root">
</div>

<script>		
    //facebook here
    //***************************************************
    window.fbAsyncInit = function() {
	FB.init({
	    appId      : 'Not inserted app id here for security reasons',
	    status     : true,
	    xfbml      : true
        });
    };
    
    (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/all.js";
     fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
</ script>

<button ng-click="login_fb()">Login with facebook</button>
<script> 
angular.module("myApp").controller("UserCtrl", 
	['$scope','$location', 'Facebook',
        function($scope, $location, Facebook /*we will write this factory next*/){
        
        $scope.login_fb = function(){
           Facebook.login().then(function(response){
               //this is where we'll contact backend. for now just log response 
               console.log(response);
           });
        }
}]);
</ script>
<script>
angular.module("myApp").factory('Facebook', 
    ["$q", "$window", "$rootScope",
    function($q, $window, $rootScope) {
		 
	// since we are resolving a thirdparty response, 
        // we need to do so in $apply   
	var resolve = function(errval, retval, deferred) {
	    $rootScope.$apply(function() {
	        if (errval) {
		    deferred.reject(errval);
	        } else {
		    retval.connected = true;
	            deferred.resolve(retval);
	        }
	    });
        }

	var _login = function(){
	    var deferred = $q.defer();
            //first check if we already have logged in
	    FB.getLoginStatus(function(response) {
	        if (response.status === 'connected') {
	            // the user is logged in and has authenticated your
		    // app
		    console.log("fb user already logged in");
		    deferred.resolve(response);
		} else {
		    // the user is logged in to Facebook, 
		    // but has not authenticated your app
		    FB.login(function(response){
		        if(response.authResponse){
			    console.log("fb user logged in");
			    resolve(null, response, deferred);
			}else{
			    console.log("fb user could not log in");
			    resolve(response.error, null, deferred);
			}
		    });
		 }
	     });
			
	     return deferred.promise;
	}

	return{
		login: _login,
	};
}]);
</ script>

</body>
</html>

有人能告诉我为什么我的按钮没有显示吗?

最佳答案

</ script>不是有效的 HTML 标记。将这些更改为 </script> .

关于javascript - 按钮未在 AngularJs 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31621036/

相关文章:

node.js - AngularJS 教程步骤_02 的问题

javascript - 如何从另一个类访问一个类的方法?

javascript - JS 中的条件 promise

javascript - 标题属性中的换行符在工具提示中不起作用

javascript - 在 Angular 中使用 $scope 属性的最佳实践

javascript - 使用 angularJS 使所有字段在点击时可编辑

javascript - 使用 Angularjs 将当前选项卡设置为事件选项卡

html - angularjs根据宽度设置div的高度

javascript - 简单练习函数显示NaN

javascript - Google Chrome 上出现 "Uncaught ReferenceError: $ is not defined"错误(但适用于 Firefox 和 Safari)