私は、以下のように<div>
に複数のタグを作成して追加するディレクティブを使用しようとしています:Angularjs:スコープ変数をディレクティブに渡す方法は?
$$element: b.fn.b.init[1]
$$observers: Object
$attr: Object
createControl: "date"
style: "margin-right: 15px"
__proto__: Object
をしかし、私はattrs.createControl
Iを使用しようとすると:私はこのような構成を持っているattrsには
module.directive('createControl', function(){
return function(scope, element, attrs){
console.log(attrs.createControl); // undefined
}
});
<div class="control-group" ng-repeat="(k, v) in selectedControls">
<div create-control="{{ v.type }}"></div>
</div>
undefined
を取得し、私はなぜ理解していない。実際の質問:スコープ変数を指示にどのように渡すのですか?
ない私は、このいずれかを取得するので、必ず、それをしない方法を今のdiv指令ですか? – Jackie
Jackie、Angularは 'create-control'(ハイフネーションされた小文字)属性と一致する指示文(camelCase)を探します。 – isherwood
説明は、うまくいけば誰かを助けるでしょう:1.) '' @ ''は何らかの理由で動作しません。 2.)は、 ' create-control>'のような複数の変数を使って適用することもできます。ディレクティブスコープ定義( 'valueTwo')では' value-two'もcamelCaseになります。 3)変数の周りに '{{}}'は存在してはいけません(NO '... =" {{v.type}} "') –
Blauhirn