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中?不确定。