Angularjs 未使用ng click调用函数

Angularjs 未使用ng click调用函数,angularjs,Angularjs,在控制器内部,我有一个login()函数,应该使用ng调用该函数,如下所示: <body ng-app="angularoauthexampleApp"> <div class="social-buttons"> <a href="#" class="btn btn-fb"><i class="fa fa-facebook"></i> Facebook</a> <a href="

在控制器内部,我有一个
login()
函数,应该使用ng调用该函数,如下所示:

<body ng-app="angularoauthexampleApp">
    <div class="social-buttons">
        <a href="#" class="btn btn-fb"><i class="fa fa-facebook"></i> Facebook</a>
        <a href="#" class="btn btn-google"><i class="fa fa-google" ng-click="login()"></i> Google</a>
    </div>
</body>

单击表单上的按钮时不会发生任何事情,或者事件不会被触发。我看不出代码有什么问题,但它是如何在
views/main.html

.when('/', {
    templateUrl: 'views/main.html',
    controller: 'MainCtrl'
})
这必须加载到根html中的
ng view
指令中。 在
html
中,您可以使用
login()

另一种方法是在根html中直接使用控制器:

<body ng-app="angularoauthexampleApp">
    <div class="social-buttons" ng-controller="MainCtrl">
        <a href="#" class="btn btn-fb"><i class="fa fa-facebook"></i> Facebook</a>
        <a href="#" class="btn btn-google"><i class="fa fa-google" ng-click="login()"></i> Google</a>
    </div>
</body>


此外,您还将ng click附加到
i
元素,因此您必须单击
login()
的G图标才能工作。将其移动到a元素,您应该可以。

您是否可以确认已加载项目的所有依赖项,包括
ngCookies
ngResource
ngRoute
ngSanitize
ngTouch
?我首先要确保控制台中没有错误。@Merott控制台中没有错误请发布一个JSFIDLE或代码片段。@Merott确定给我5minutes@Merott问题是:我理解了第二部分,但不理解
ui-view指令
?我尝试了第二种方法,但仍然
login
功能不可用调用的
ui视图
用于
角度ui路由器
,操作视图不使用。路由器在ng view指令中为您加载html和控制器,因此当您更改状态时,会加载相应的控制器和视图。
.when('/', {
    templateUrl: 'views/main.html',
    controller: 'MainCtrl'
})
<body ng-app="angularoauthexampleApp">
    <div class="social-buttons" ng-controller="MainCtrl">
        <a href="#" class="btn btn-fb"><i class="fa fa-facebook"></i> Facebook</a>
        <a href="#" class="btn btn-google"><i class="fa fa-google" ng-click="login()"></i> Google</a>
    </div>
</body>