将字符串传递给AngularJS指令

时间:2015-02-03 10:08:44

标签: angularjs angularjs-directive

我想将字符串传递给角度指令

<person first-name="Don" last-name="Dood"></person>
<person first-name="James" last-name="Jawalla"></person>

并获得此结果HTML:

<p>Don Dood</p>
<p>James Jawalla</p>

这是我现在拥有的。

指令

.directive('person', function(){
  return {
    scope: {
      firstName: '@',
      lastName: '@'
    },
    templateUrl: 'person-template.html'
  }
});

人-template.html

<p>{{ firstName }} {{ lastName }}</p>

但是,firstName或lastName没有显示任何值。我错过了什么?

这是一个简单的问题,所以我很惊讶在SO上没有好的答案。我找到的最近的是question,但它没有说明如何在HTML中显示字符串。

2 个答案:

答案 0 :(得分:1)

&#39; @&#39;是正确的范围绑定在这里使用,因为字符串被传递给指令。

我相信你错过了限制:&#39; E&#39;在您的DDO中,但除此之外您的代码还可以。

答案 1 :(得分:0)

没关系,这段代码可行。我的代码中的其他地方有一个错误,这使得它看起来不起作用。无法删除,因为它已有答案。

提醒:如果您将字符串作为属性传递,请使用@符号(就像我在问题中所做的那样)。如果您传递一个对象,变量等,并且希望它是双向绑定的,那么请使用=符号。