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

AngularJS指令范围未解决(“未定义attr名称”错误)

景安翔
2023-03-14
问题内容

指令代码

mymodule.directive('eicon', function(){
    return {
        restrict: 'E',
        scope: {
            attr: '='
        },
        template: "test " + attr.name
    }
});

HTML

<tr ng-repeat="e in entities">
    <td><eicon attr="e"></eicon></td>
</tr>

我遇到此错误:ReferenceError: attr is not defined。怎么了?


问题答案:

attr在作用域中是可访问的,因此您可以scope.attr在控制器或链接阶段或{{attr}}模板中进行访问。一个简单的解决方案是将模板更改为

mymodule.directive('eicon', function(){
    return {
        restrict: 'E',
        scope: {
            attr: '='
        },
        template: "test {{attr.name}}",
        link: function (scope, element, attrs) {
          console.log(scope.attr);
        },
        controller: function (scope) {
          console.log(scope.attr);
        }
    }
});


 类似资料:
  • 我得到一个错误,当我试图运行这个简单的脚本: 假设我输入“dude”,我得到的错误是: 我正在运行MacOSX10.9.1,我正在使用安装了Python3.3的PythonLauncher应用程序来运行脚本。

  • 问题内容: 我在自学Python,只是在“探索”。Google说datetime是一个全局变量,但是当我尝试在终端中查找今天的日期时,我在问题标题中收到NameError吗? 问题答案: 您需要先导入模块: 之后,它可以工作:

  • 问题内容: 我有以下代码,并在尝试运行它时收到以下错误消息: 我试图让Raspberry Pi在端口17上收到输入时运行HTML脚本: 问题答案: Python的布尔常量是大写的:与以大写字母和分别。 小写变体只是变量的有效免费名称,因此您可以将它们用于任何所需的变量,例如(不建议使用; P)。

  • 我试图做一个基于链接列表和节点的N-Ary树。但是每当我试图给树添加一个新值时,我总是得到: NameError:未定义名称“self” 我使用模块,所以我必须从其他文件导入类。 我在树代码的def addTree(self,value,parent=self.root)中遇到了这个错误 树代码 节点代码 链接列表代码 也谢谢你的帮助,我对Python有点陌生,我不知道我做错了什么。

  • 问题内容: 我有一个带有隔离范围的指令,该指令的值具有两种方式绑定到父范围。我正在调用一个方法来更改父作用域中的值,但是更改未应用到我的指令中。(不触发双向绑定)。 但是我不是从指令中更改值,而是仅在父范围中更改它。我阅读了解决方案,并指出了第五点: 这意味着当我的父值更改为2时,将触发监视。它检查父值和指令值是否相同-如果不相同,则将其复制到指令值。好的,但是我的指令值仍然是1 …我缺少什么?

  • 问题内容: 我正在尝试使用ng- model将复选框绑定到作用域。复选框的初始状态恰好与范围模型相对应,但是当我选中/取消选中复选框时,模型不会更改。需要注意的是,模板是在运行时使用ng- include动态加载的 当我选中该框时,控制台记录为false,而当我取消选中该框时,控制台再次记录为false。我还在作用域上有一个订单模型,如果我将复选框的模型更改为order.billing_is_sh