Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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 如何让html对象在angularj中将其作为变量传递_Javascript_Html_Angularjs - Fatal编程技术网

Javascript 如何让html对象在angularj中将其作为变量传递

Javascript 如何让html对象在angularj中将其作为变量传递,javascript,html,angularjs,Javascript,Html,Angularjs,对不起,如果它已经张贴,但我找不到它,不能写的问题更清楚 我试图获取一个html对象的实例,并将其用作angularJs中的变量,下面是一个示例来说明它 <div id="whatever" class="donotcare" data-ng-init=doSomething(htmlobject)>blabla bla</div> $scope.doSomething = function(){ console.log("the div object is t

对不起,如果它已经张贴,但我找不到它,不能写的问题更清楚

我试图获取一个html对象的实例,并将其用作angularJs中的变量,下面是一个示例来说明它

<div id="whatever" class="donotcare" data-ng-init=doSomething(htmlobject)>blabla bla</div>

$scope.doSomething = function(){
    console.log("the div object is there")
}
blablabla
$scope.doSomething=函数(){
log(“div对象就在那里”)
}
基本上,我想做的是获取div并将其作为变量传递,这样我就可以用angularjs获取它的id,它的内容

单击时,很容易,只需获取$event,然后在javascript上获取currentTarget。但我想让它在加载时运行。
希望您理解

对我的代码做了一些修改。关键是当交互发生时,例如单击并将事件obj传递给函数


不知道你到底是什么意思。但下面的代码可能会帮助您:

HTML代码:

<button id="whatever" class="donotcare" (click)="doSomething($event)">blabla bla</div>

对我的代码做了一些修改。关键是当交互发生时,例如单击并将事件obj传递给函数


不知道你到底是什么意思。但下面的代码可能会帮助您:

HTML代码:

<button id="whatever" class="donotcare" (click)="doSomething($event)">blabla bla</div>

您需要使用Decorator指令-

  • 它用于更改/添加现有元素的功能
  • 作为属性实现,不使用模板
  • Link函数用于修改html元素并注册事件。未使用作用域或控制器
  • Link函数接受三个参数——scope、el(html元素)、attrs(元素的属性列表)
  • Scope.$apply应用于启动外部jquery和html5事件的角度摘要循环
  • 在您的例子中,您可以创建一个新的Decorator指令,并在link函数中使用下面的代码来获取body上的句柄-

    link : function(scope, el, attrs){
    //you code will go here using $('body')
    }
    

    您需要使用Decorator指令-

  • 它用于更改/添加现有元素的功能
  • 作为属性实现,不使用模板
  • Link函数用于修改html元素并注册事件。未使用作用域或控制器
  • Link函数接受三个参数——scope、el(html元素)、attrs(元素的属性列表)
  • Scope.$apply应用于启动外部jquery和html5事件的角度摘要循环
  • 在您的例子中,您可以创建一个新的Decorator指令,并在link函数中使用下面的代码来获取body上的句柄-

    link : function(scope, el, attrs){
    //you code will go here using $('body')
    }
    

    根据定义了
    doSomething()
    的位置,您可以选择以下选项之一:

    选项#1

    如果在全局范围内的某个地方定义了
    doSomething()
    ,则可以尝试编写自己的角度指令
    app init
    ,而不是
    ng init
    ,并将要调用的函数名传递给它(在您的情况下是
    doSomething
    )。此函数将接收DOM元素(您称之为html对象)并对其执行您想要的任何操作,例如,通知id

    功能剂量测量(obj){
    警报(对象和对象id);
    }
    有棱角的
    .module('应用程序',[])
    .directive('appInit',['$window',function($window){
    返回{
    链接:函数(范围、元素、属性){
    $window[attrs.appInit](元素[0])
    }
    }
    }]);
    
    
    布拉布拉布拉
    
    根据定义了
    doSomething()
    的位置,您可以选择以下选项之一:

    选项#1

    如果在全局范围内的某个地方定义了
    doSomething()
    ,则可以尝试编写自己的角度指令
    app init
    ,而不是
    ng init
    ,并将要调用的函数名传递给它(在您的情况下是
    doSomething
    )。此函数将接收DOM元素(您称之为html对象)并对其执行您想要的任何操作,例如,通知id

    功能剂量测量(obj){
    警报(对象和对象id);
    }
    有棱角的
    .module('应用程序',[])
    .directive('appInit',['$window',function($window){
    返回{
    链接:函数(范围、元素、属性){
    $window[attrs.appInit](元素[0])
    }
    }
    }]);
    
    
    布拉布拉布拉
    
    只需使用
    getElementById()
    感谢您的回复,但正如我所说,我很难找到合适的词来解释。假设我没有Id,我想将整个html对象作为变量传递,并以Angular的形式访问它。最初(在传递到doSomething()之前)如何获得这个
    htmlobject
    ?您是使用一些选择器查询现有的DOM树还是创建未绑定的DOM元素?只需使用
    getElementById()
    谢谢您的回复,但正如我所说,我很难找到合适的词来解释。假设我没有Id,我想将整个html对象作为变量传递,并以Angular的形式访问它。最初(在传递到doSomething()之前)如何获得这个
    htmlobject
    ?您是使用某个选择器查询现有DOM树还是创建未绑定的DOM元素?我编辑了您的答案以使代码更清晰,您应该使用
    currentTarget
    而不是
    target
    我逐字复制并粘贴了您的答案,我收到了此错误“TypeError:无法读取未定义的属性'currentTarget'我编辑了你的答案以使代码更清晰,你应该使用
    currentTarget
    而不是
    target
    我复制并粘贴了你的答案,我得到了这个错误“TypeError:Cannot read property'currentTarget'of undefined”我一开始做了,但由于不能使用“$compile”,我不得不找到其他东西指令链接功能中的模块您可以使用作用域。$apply。它应该用来启动外部jquery和html5事件的角度摘要循环。我一开始是这样做的,但必须找到其他东西,因为我不能在指令链接函数中使用“$compile”模块。您可以使用Scope。$apply。它应该用于启动外部jquery和html5事件的角度摘要循环。