Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AngularJS调用函数_Javascript_Html_Angularjs - Fatal编程技术网

Javascript 使用AngularJS调用函数

Javascript 使用AngularJS调用函数,javascript,html,angularjs,Javascript,Html,Angularjs,我正在用AngularJs编写应用程序 这是我的密码: HTML 我试图做的是通过单击图像来取消服务器请求期间发送的文件上载 此ng click没有响应。它不会给出错误,但也不能正常工作 有人能帮助确定这些问题吗 谢谢 不要编译你的HTML。因此,动态HTML中的所有角度指令(ng if、ng src、ng click等)都无法工作 要真正编译html,您可以使用如下服务: $compile(html)($scope) 但这不是一种真正的方法。如果要修改DOM结构,则需要使用指令。在您的情况下

我正在用AngularJs编写应用程序

这是我的密码:

HTML

我试图做的是通过单击图像来取消服务器请求期间发送的文件上载

此ng click没有响应。它不会给出错误,但也不能正常工作

有人能帮助确定这些问题吗


谢谢

不要编译你的HTML。因此,动态HTML中的所有角度指令(ng if、ng src、ng click等)都无法工作

要真正编译html,您可以使用如下服务:

$compile(html)($scope)
但这不是一种真正的方法。如果要修改DOM结构,则需要使用指令。在您的情况下,您可以将该html包含到模板本身,而不是动态添加它:

<div ng-show="showYourHtml">
    <img ng-src="logo.png"
         ng-click="main.cancelFileUpload(chat,msg_id)"/>
</div>

也许你可以试着从另一个角度来看待这个问题。特别是我不喜欢Javascript中的HTML,为什么不尝试使用ng类隐藏按钮或图像,它更便宜,对您将来的维护来说也不那么脏。它没有做任何事情,因为angular没有被告知此更改,也没有运行$digest循环。您基本上需要调用$scope.$apply,但这不是很推荐,您应该找到更好的解决方案。您在
class=“containerrap>
$scope.chat = (object)
$scope.msg_id =(object) 

this.cancelFileUpload=function(chat,msg_id){
        alert("Cancel clicked ");
        delete this.retryUploadFiles[msg_id];
        delete chat.msgs[msg_id];
    };
$compile(html)($scope)
<div ng-show="showYourHtml">
    <img ng-src="logo.png"
         ng-click="main.cancelFileUpload(chat,msg_id)"/>
</div>
...
if(conditions){
    $scope.showYourHtml = true;
}
...