5

これが私の指示です:

app.directive("helloWorld", function() {
  return {
    restrict: "E",
    scope: {
      name: "bind"
    },
    template: "<div>a {{name}} a</div>"
  };
});

使用方法は次のとおりです。

<hello-world name="John Smith"></hello-world>

このページを実行すると、次のようになると思います。

<hello-world>
  <div>a John Smith a</div>
</hello-world>

しかし、何らかの理由でname注入されず、実際の結果は次のようになります。

<hello-world>
  <div>a {{name}} a</div>
</hello-world>

不足しているものはありますか?私はAngular JS 1.0.2を使用しています

4

1 に答える 1

14

スコープ宣言が変です。宣言についてはよくわかりません"bind"-おそらく以前のバージョンのものです。

ディレクティブの属性にバインドするための現在の構文は次のようになります。

return {
    restrict: "E",
    scope: {
      name: "@name"
    },
    template: "<div>a {{name}} a</div>"
};

一般的に、@attributeName. ディレクティブの詳細については、こちらを参照してください。

于 2012-10-14T10:37:01.823 に答える