Javascript 为什么这不起作用?

Javascript 为什么这不起作用?,javascript,angularjs,twitter-bootstrap,Javascript,Angularjs,Twitter Bootstrap,我使用安装了ui引导模块的angular,我正在使用这个modal,我想要一个带有ng click指令的按钮,但当我单击它时,什么也没有发生 这是我的密码 <script type="text/ng-template" id="profileModal.html"> <div class="modal-header"> <h3 class="modal-title">Profile</h3>

我使用安装了
ui引导
模块的
angular
,我正在使用这个
modal
,我想要一个带有
ng click
指令的按钮,但当我单击它时,什么也没有发生

这是我的密码

<script type="text/ng-template" id="profileModal.html">
        <div class="modal-header">
            <h3 class="modal-title">Profile</h3>
        </div>
        <div class="modal-body" ng-bind-html="content">

        </div>
        <div class="modal-footer">
            <button class="btn btn-warning" type="button" ng-click="close()">Cancel</button>

        </div>
</script>

轮廓
取消
javascript控制器

     if(comparisons.isFollowed){
       outputHTML += '<h5>Follows you</h5>';
     }
     if(!comparisons.doesFollow){
     outputHTML += "<a ng-click='followUser()' href='#' class='btn btn-success space'>Follow User</a>";  
     }else{
       outputHTML += "<button type='button' ng-click='unfollowUser' class='btn btn-warning space'>Unfollow User</button>";
     }
     if(!comparisons.areFriends){
       outputHTML += "<button type='button' ng-click='friendRequest'  class='btn btn-success space'>Send friend request.</button>";  
     }else if(comparisons.hasRequest){
       if(comparisons.sentRequest == currentUser){
       outputHTML += "<button type='button' ng-click='cancelRequest'  class='btn btn-warning space'>Cancel friend request.</button>";    
       }else{
         outputHTML += "<button type='button' ng-click='acceptRequest'  class='btn btn-success space'>Accept friend request</button>";
         outputHTML += "<button type='button' ng-click='declineRequest'  class='btn btn-warning space'>Decline friend request</button>";
       }
     }
     }

     $scope.content = $sce.trustAsHtml(outputHTML);


$scope.followUser = function(){
    console.log("test");
    $http({ url: '/api/v1/user/' + currentUser + '/follow/' + searchedUser, method: 'POST'}).then(function successCallback(response) {
      console.log(response);
    });
  };
if(后面是比较){
outputHTML+='跟随您';
}
如果(!comparations.doesFollow){
outputHTML+=“”;
}否则{
outputHTML+=“取消跟踪用户”;
}
如果(!comparations.areFriends){
outputHTML+=“发送好友请求。”;
}else if(comparations.hasRequest){
if(comparations.sentRequest==currentUser){
outputHTML+=“取消好友请求。”;
}否则{
outputHTML+=“接受好友请求”;
outputHTML+=“拒绝好友请求”;
}
}
}
$scope.content=$sce.trustAsHtml(outputtml);
$scope.followUser=函数(){
控制台日志(“测试”);
$http({url:'/api/v1/user/'+currentUser+'/follow/'+searchedUser,方法:'POST'}){
控制台日志(响应);
});
};

不要为href属性赋值。这样做将更改页面上的面包屑/重新加载面包屑。从锚定标记中删除href,如下所示:

<a ng-click='followUser()' class='btn btn-success space'>Follow User</a>

您需要将HTML DOM操作从控制器移动到HTML模板-您仍然可以使用控制器中的模型值驱动它

大概是

<a ng-click='followUser()' href='#' class='btn btn-success space' ng-if="comparisons.doesFollow">Follow User</a>

因为您正在动态创建HTML,所以需要让Angular知道如何绑定元素。我只在指令中这样做过,所以我不能完全确定控制器的语法(顺便说一句,您可以轻松地将整个模式移动到指令中)

查看编译服务:
$compile

如何以及在哪里定义
close
函数?对不起,我指的是
而不是取消按钮。Gular不知道您通过Javascript添加的HTML部分,我可以告诉您,因为我有时使用此技术在其他angular应用程序中引导angular应用程序。您可以做的是将所有这些按钮添加到html文件中,并根据这些条件使用ng show或ng hide来显示/隐藏它们。使用JSFIDLE更新了我先前的答案。谢谢,但这仍然不起作用。可能是因为它在一个ng绑定html中?不确定。