当前位置: 首页 > 知识库问答 >
问题:

需要一些自定义AngularJS标记中绑定属性的示例

郎成龙
2023-03-14
<mytag type="Big" />
<label>{{type}}</label>

...(其他组成部分)...

正如文档所说,我有一个设置默认类型的控制器:

$scope.type = "Small";

这样,如果我在不使用属性的情况下使用标记,则仍然会设置属性类型。

angular.module('TestPage',[])
      .directive('mytag',function() {
          return {
              restrict: 'E',
              templateUrl: 'component.html',
              scope: {
                  type: '='
              }
          }
      });

啊???所有这些与绑定的正确语法有什么关系?

=or=expression-在本地作用域属性和父作用域属性之间设置双向绑定。如果没有指定attr名称,则本地名称和属性名称相同。给定作用域的小部件定义:{localmodel:'=myattr'},则小部件作用域属性localName将反映父作用域上parentModel的值。对parentModel的任何更改都将反映在localModel中,localModel中的任何更改都将反映在parentModel中。

打扰一下?这里在说什么???

有人能提供一些好的,简单的例子,如何做各种绑定,本文档是如此努力描述???这些示例显示了这些作用域语句的正确语法,以及它们如何返回到添加到自定义标记的属性的描述(用简单的英语)???

感谢您的耐心,并提前感谢您的任何帮助。

共有1个答案

国盛
2023-03-14

在第一次进入angular时,我也对这篇文档进行了一些挣扎,但我将尝试为您澄清一些事情。首先,当使用这个scope属性时,它会创建一个“独立的作用域”。这意味着它不会从父作用域继承任何属性,因此您不必担心作用域内的任何冲突。

现在,'@'表示法意味着属性中的计算值将自动绑定到指令的作用域中。因此, 最终将使作用域具有一个名为foo的属性,该属性保存字符串“bar”。您还可以执行类似 的操作,然后将 {{bar}}的计算值绑定到作用域。由于属性始终是字符串,因此在使用此表示法时,您将始终在作用域中为该属性提供一个字符串。

“=”表示法基本上提供了一种将对象传递到指令中的机制。它总是从指令的父范围中提取该属性,因此该属性永远不会有{{}}。因此,如果您有 ,它将在指令作用域的foo属性中将$scope.bar中的内容绑定到指令中。您在作用域内对foo所做的任何更改都将在父作用域中的bar中重新选择,反之亦然。

scope: {
   foo1: '@',
   foo2: '=',
   foo3: '&'
}
scope: {
   foo1: '@bar1',
   foo2: '=bar2',
   foo3: '&bar3'
}

 类似资料:
  • 问题内容: 我正在尝试创建类似于以下内容的自定义标签: 其中type是绑定到组件的属性。以此方式将文本设置在标签中,如下所示: …(其他组件)… 如文档所述,我有一个设置默认类型的控制器: 因此,如果我使用没有属性类型的标记仍会设置。 我正在尝试使用指令进行绑定: 请注意,我在组件模板(ng-app =“ TestPage”)中确实具有适当的ng-app设置。 我的问题是绑定到类型似乎没有实际绑定

  • 因此,我想访问子标记result1、result2、result3中父标记属性test1、test2、test3(这些属性的返回值为true/false)的结果,以根据返回的条件值显示输出,不管它是true还是false。 谢谢,开发者。

  • 问题内容: 我想在我的登录表单中添加一些iOS特定的标签属性。如果我查看网页源代码,则不存在自动更正,自动大写和拼写检查这些属性。这是什么原因呢?我正在使用JSF2.x。 问题答案: 这是设计使然。您只能指定JSF组件本身支持的属性(即,它在标签文档的属性列表中列出)。您不能指定任意其他属性,所有这些属性都会被忽略。 有几种解决方法: 如果您已经在使用JSF 2.2+,只需将其指定为passthr

  • 本文向大家介绍Angular2实现自定义双向绑定属性,包括了Angular2实现自定义双向绑定属性的使用技巧和注意事项,需要的朋友参考一下 整理文档,搜刮出一个Angular 2实现自定义 双向绑定 属性的代码,稍微整理精简一下做下分享。 使用时,就可以通过[(username)]=“你的当前属性” 进行双向绑定了。属性名 + 后缀 Change是一个约定的固定写法。 以上就是本文的全部内容,希望

  • 我不知道为什么错误在这里它看起来很好的代码... 在client.commands.set(pull.config.name,pull)中发现错误;和bot.aliases.set(alias,pull.config.name)中;未定义的显示。 我需要一些帮助这里,我正在尝试为我的机器人做一个自定义前缀,我真的需要这段代码! 代码中的错误

  • 注意:我的应用程序在旧的Android5上运行良好。但是我在更新的版本中解决了这个问题。现在我已经添加了登录和旋转的代码....我想这可能是图像的密度像素的问题…或者把东西放在错误的地方。我需要专家的时间。好心解决我的问题。 .提前感谢