Javascript 向函数传递参数的角度

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

当我将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="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中:
//这是一个指令,它会将跨度颜色变为蓝色

try
ng click=“getActiveId(activeSlide.selected)”
,如果它也在实际代码中,请在
单击之前删除空格。try
ng click=“getActiveId(activeSlide.selected)”
,如果它也在实际代码中,请在
单击之前删除空格。请注意指令和指令属性必须遵循snake-case约定,也就是说,如果您的指令中定义了turnToThisColor属性,则在标记上,您将其称为turn Tothis color。后者也适用于指令名称。一个名为myDirective的指令应该在带有或的标记上调用。另外……我认为,如果您声称如果您使用自定义属性创建自定义指令,则必须使用大括号,这是不正确的。这是错误的,因为大括号不能用于已经是表达式的内容。您的自定义属性已经是一个表达式,因此也没有大括号。我不确定您说的是什么,但我确定在我的示例中,我们必须使用{{}将颜色值注入到指令中,对吗?这取决于…是否将此颜色视为表达式?如果是,则必须去掉大括号。请注意,指令和指令属性必须遵循snake-case约定,即,如果指令中定义了turnToThisColor属性,则在标记上,您将其称为turn Tothis color。后者也适用于指令名称。一个名为myDirective的指令应该在带有或的标记上调用。另外……我认为,如果您声称如果您使用自定义属性创建自定义指令,则必须使用大括号,这是不正确的。这是错误的,因为大括号不能用于已经是表达式的内容。您的自定义属性已经是一个表达式,因此也没有大括号。我不确定您说的是什么,但我确定在我的示例中,我们必须使用{{}将颜色值注入到指令中,对吗?这取决于…是否将此颜色视为表达式?如果是,那么你必须放下花括号。