当前位置: 首页 > 面试题库 >

如何将多个属性传递给Angular.js属性指令?

倪炎彬
2023-03-14
问题内容

我有一个属性指令,其限制如下:

 restrict: "A"

我需要传递两个属性;一个数字和一个函数/回调,使用attrs对象在指令中访问它们。

如果指令是元素指令,那么"E"我可以限制为:

<example-directive example-number="99" example-function="exampleCallback()">

但是,出于某种原因,我不再赘述,我需要将该指令作为属性指令。

如何将多个属性传递到属性指令中?


问题答案:

该指令可以访问在同一元素上定义的任何属性,即使该指令本身不是该元素也是如此。

模板:

<div example-directive example-number="99" example-function="exampleCallback()"></div>

指示:

app.directive('exampleDirective ', function () {
    return {
        restrict: 'A',   // 'A' is the default, so you could remove this line
        scope: {
            callback : '&exampleFunction',
        },
        link: function (scope, element, attrs) {
            var num = scope.$eval(attrs.exampleNumber);
            console.log('number=',num);
            scope.callback();  // calls exampleCallback()
        }
    };
});

[fiddle](http://jsfiddle.net/mrajcok/wTz4b/)

如果attribute的值example- number将被硬编码,则建议使用$eval一次并存储该值。变量num将具有正确的类型(数字)。



 类似资料:
  • 问题内容: 我需要在页面的几个地方使用指令,它有时应包含完整列表,但有时应进行过滤。这是我的幼稚方法: HTML: Javascript: http://jsfiddle.net/GDfxd/14/ 当我尝试使用过滤器时,出现此错误: 有解决此问题的方法吗? 问题答案: 在 $消化迭代 错误通常发生在有改变模型中的守望者。在错误情况下,隔离绑定将绑定到过滤器的结果。该绑定创建了一个观察者。由于过滤

  • 我目前正在进行struts升级(从struts 1.x迁移到2.x) 我的项目有一个自定义标记处理程序类,用于格式化应用程序中的数字 TLD文件 FormatNumberTag类 JSP 这里,AccountBean是bean,floatingRate是属性 1)在标签处理程序类上面,(org.apache.struts.util.请求Utils)请求Utils.lookup 相应的方法是什么 2

  • 问题内容: 通过指令的属性将数组传递给指令时,我目前遇到问题。我可以将其读取为字符串,但是我需要将其作为数组,所以这是我想出的,但是不起作用。帮助任何人?提前 Javascript :: HTML :: 问题答案: 如果要从您的作用域访问此数组,即加载到控制器中,则只需传递变量名称即可: 指示: 模板:

  • 我正在使用gradle tooling api,我遇到了下面的场景。有一个应用某个插件P的项目,它只在传递shouldApplyP属性时才创建任务T。 因此,如果您将运行,您将看不到任务T,但是如果您将运行,您将看到任务T。 在gradle tooling api中,一旦创建了,我就可以执行 但我看不到这个具体的任务。是否有方法将此属性传递给项目连接,以便在方法中显示该属性?

  • 问题内容: 这是我的问题: 当我用JavaScript编写此代码时 // 好: 但是,当我尝试在属性标签中动态设置该值时,没有任何执行。 // 不好: 有人可以帮我吗? 问题答案: Struts标签,例如JSTL,EL等,是在服务器端执行的。执行完所有这些步骤后,仅HTML的最终页面将呈现给客户端。只有这样,JavaScript才能在页面上运行。 您不能混合使用javascript和Struts标