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

使用花括号时的角度

洪哲彦
2023-03-14
问题内容

有时在角形中我看到花括号,但有时没有。我搜索了很多,但找不到正确的问题

带花括号

ng-src="{{imageSrc}}

不带花括号

ng-hide="imageSrc"

什么我问的是,为什么我们不能写ng-hide

ng-hide="{{imageSrc}} // doesn't work anyway

为什么有2不同的语法srchide


问题答案:

它仅取决于“声明”所使用指令的方式。

如果指令具有以下声明:

scope:{
    ngHide: '='
}

那么,您不必使用双胡须,因为该指令需要一个对象

如果指令的声明如下:

scope:{
    ngMin:'@'
}

然后,它期望一个值。如果您的值来自javascript变量,则必须使用大括号将包含在变量中的字符串插入。

编辑:

自从我阅读有角度的源代码以来已经有很长时间了。

我尚未找到任何源代码来证明我的观点:

ngController 期望像下面这样声明一个字符串

var ngControllerDirective = [function() {
  return {
    restrict: 'A',
    scope: true,
    controller: '@',
    priority: 500
  };
}];

https://github.com/angular/angular.js/blob/master/src/ng/directive/ngController.js#L3

ngMaxLength

var maxlengthDirective = function() {
  return {
    restrict: 'A',
    require: '?ngModel',
    link: function(scope, elm, attr, ctrl) {
      if (!ctrl) return;

      var maxlength = -1;
      attr.$observe('maxlength', function(value) {
        var intVal = toInt(value);
        maxlength = isNaN(intVal) ? -1 : intVal;
        ctrl.$validate();
      });
      ctrl.$validators.maxlength = function(modelValue, viewValue) {
        return (maxlength < 0) || ctrl.$isEmpty(viewValue) || (viewValue.length <= maxlength);
      };
    }
  };
};

https://github.com/angular/angular.js/blob/master/src/ng/directive/validators.js#L186



 类似资料:
  • 问题内容: 我对这个尖角世界是陌生的,我对使用双花括号{{}}和单花括号{}感到困惑,或者有时不使用花括号来包含指令中的表达式 问题答案: {{}}-双大括号: 是Angular表达式,当您希望将内容编写为HTML时非常方便: 不要在已经是表达式的地方使用它们! 例如,该指令将引号之间的任何内容都视为一个表达式: {}-大括号: 我们知道JavaScript代表对象。这里也没有什么不同: 使用一些

  • 问题内容: 为什么在扩展Node.js类时将变量包装在大括号内,例如? 例如,Trevor Burnham在他的事件驱动CoffeeScript 教程中,通过以下方式扩展了Node的EventEmitter: 问题答案: 这个: 等效于以下JavaScript: 当您使用模块的导出返回一个对象时,这些导出之一就是“类”。使用只是退出返回对象的惯用快捷方式。您也可以这样说: 若你宁可。当您要提取对象

  • 问题内容: 有没有一种快速的方法可以使Eclipse将花括号放在代码块的下一行上(本身)? 问题答案: 对于预先编写的代码块,请先按照Don的建议进行设置,然后选择该代码段,然后右键单击SourceCode->Format,然后按照首选项中的设置进行格式化。

  • 考虑如下代码: list<vector<string>> lvs; 在C++98中,这是一个语法错误,因为两个右角括号(‘>’)之间没有空格(译注:因此,编译器会将它分析为”>>”操作符)。C++0x可以正确地分辨出这是两个右角括号(‘>’),是两个模板参数列表的结尾。 为什么之前这会是一个问题呢?一般地,一个编译器前端会按照“分析/阶段”模型进行组织。简要描述如下: 词法分析(从字符中构造to

  • 我试图创建一个数据数组与FLOT图表一起使用。我使用这个CodeIgniter代码来生成数组: 这段代码的问题是无法绘制生成的JSON对象,因为“值”实际上是字符串。以下是有问题的JSON输出: 这个JSON有三个问题: 需要方括号而不是花括号;和 以下是JSON输出的格式: 清理这个JSON对象的最佳方法是什么?我应该在服务器端使用CodeIgniter代码吗?或者我应该在javascript中

  • 问题内容: 我试图理解下面两个require语句之间的区别。 具体来说,s包装的目的是什么? 它们似乎都分配了电子模块的内容,但是它们的功能显然不同。 谁能给我一些启示? 问题答案: 第二个示例使用解构。 这将调用从所需模块导出的特定变量(包括函数)。 例如(functions.js): 包含在您的文件中: 现在您可以分别给他们打电话了, 相对于: 使用点表示法调用: 希望这可以帮助。 您可以在此