Javascript 向函数传递参数的角度
当我将a参数传递给ng中的getActiveId函数时,单击Javascript 向函数传递参数的角度,javascript,jquery,html,css,angularjs,Javascript,Jquery,Html,Css,Angularjs,当我将a参数传递给ng中的getActiveId函数时,单击 <span class="col ion-ios7-heart-outline center" ng- click="getActiveId({{activeSlide.selected}})"> 它的值在控制器中变为零,并在通过inspect元素测试后传入正确的值 <span class="col ion-ios7-heart-outline center ng-binding" ng-click="getA
<span class="col ion-ios7-heart-outline center" ng- click="getActiveId({{activeSlide.selected}})">
它的值在控制器中变为零,并在通过inspect元素测试后传入正确的值
<span class="col ion-ios7-heart-outline center ng-binding" ng-click="getActiveId(1)"> 1:</span>
1:
您需要放下参数周围的花括号
以下是您应该如何将参数传递给函数,或者在任何情况下,如何在指令的属性内调用函数或调用范围对象:
<span class="col ion-ios7-heart-outline center" ng-click="getActiveId(activeSlide.selected)">
更新
为了进一步解释为什么你必须放下双大括号。。。
当您希望将语句视为表达式时,可以使用这些表达式。当涉及到指令的属性时,这些已经是表达式了,所以不能使用双大括号。有道理吗
有时,您会在指令的属性中找到一个大括号,当您希望将内联javascript对象作为参数传递时,可以使用这个大括号。您将在ng style指令中经常看到这一点:
<div ng-style="{color:red}">
您需要放下参数周围的花括号 以下是您应该如何将参数传递给函数,或者在任何情况下,如何在指令的属性内调用函数或调用范围对象:
<span class="col ion-ios7-heart-outline center" ng-click="getActiveId(activeSlide.selected)">
更新
为了进一步解释为什么你必须放下双大括号。。。
当您希望将语句视为表达式时,可以使用这些表达式。当涉及到指令的属性时,这些已经是表达式了,所以不能使用双大括号。有道理吗
有时,您会在指令的属性中找到一个大括号,当您希望将内联javascript对象作为参数传递时,可以使用这个大括号。您将在ng style指令中经常看到这一点:
<div ng-style="{color:red}">
ng click和所有本机angularjs指令(ng click-ng model-ng选项,…) 他们都将接受没有两个大括号的表达式 所以你必须消除这个:{{}}从你的ng点击里面 像这样:
<span ng-click="getActiveId(activeSlide.selected)">
但请注意,如果您自己编写了一个新指令,并且希望将任何表达式传入其中,则必须使用如下大括号:
in your controller:
$scope.color="blue";
in your html :
<span turnToThisColor="{{color}}"></span>
// This is a directive that will turn this span color , blue
在控制器中:
$scope.color=“蓝色”;
在html中:
//这是一个指令,它会将跨度颜色变为蓝色
ng click和所有本机angularjs指令(ng click-ng model-ng选项,…)
他们都将接受没有两个大括号的表达式
所以你必须消除这个:{{}}从你的ng点击里面
像这样:
<span ng-click="getActiveId(activeSlide.selected)">
但请注意,如果您自己编写了一个新指令,并且希望将任何表达式传入其中,则必须使用如下大括号:
in your controller:
$scope.color="blue";
in your html :
<span turnToThisColor="{{color}}"></span>
// This is a directive that will turn this span color , blue
在控制器中:
$scope.color=“蓝色”;
在html中:
//这是一个指令,它会将跨度颜色变为蓝色
tryng click=“getActiveId(activeSlide.selected)”
,如果它也在实际代码中,请在单击之前删除空格。tryng click=“getActiveId(activeSlide.selected)”
,如果它也在实际代码中,请在单击之前删除空格。请注意指令和指令属性必须遵循snake-case约定,也就是说,如果您的指令中定义了turnToThisColor属性,则在标记上,您将其称为turn Tothis color。后者也适用于指令名称。一个名为myDirective的指令应该在带有或的标记上调用。另外……我认为,如果您声称如果您使用自定义属性创建自定义指令,则必须使用大括号,这是不正确的。这是错误的,因为大括号不能用于已经是表达式的内容。您的自定义属性已经是一个表达式,因此也没有大括号。我不确定您说的是什么,但我确定在我的示例中,我们必须使用{{}将颜色值注入到指令中,对吗?这取决于…是否将此颜色视为表达式?如果是,则必须去掉大括号。请注意,指令和指令属性必须遵循snake-case约定,即,如果指令中定义了turnToThisColor属性,则在标记上,您将其称为turn Tothis color。后者也适用于指令名称。一个名为myDirective的指令应该在带有或的标记上调用。另外……我认为,如果您声称如果您使用自定义属性创建自定义指令,则必须使用大括号,这是不正确的。这是错误的,因为大括号不能用于已经是表达式的内容。您的自定义属性已经是一个表达式,因此也没有大括号。我不确定您说的是什么,但我确定在我的示例中,我们必须使用{{}将颜色值注入到指令中,对吗?这取决于…是否将此颜色视为表达式?如果是,那么你必须放下花括号。