Javascript 如何让html对象在angularj中将其作为变量传递
对不起,如果它已经张贴,但我找不到它,不能写的问题更清楚 我试图获取一个html对象的实例,并将其用作angularJs中的变量,下面是一个示例来说明它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
<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 : function(scope, el, attrs){
//you code will go here using $('body')
}
您需要使用Decorator指令-
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事件的角度摘要循环。