コンポーネントで角度1.5を使用する。カスタムディレクティブのパラメータを渡す
カスタムディレクティブが含まれているいくつかの親HTML:
<my-thing resetFields='$ctrl.bReset'></my-thing>
EDIT:代わりresetFields
の、ここで私はreset-fields
を使用している必要があります - 私は、以下の未定義だこれはなぜでした。
親コントローラ: - myThingCtrl
alert(ctrl.reset); // alert is called in controller, but shows undefined
function myThingComponent() {
this.controller = {};
this.bindings = {};
var component = this;
component.templateUrl = 'myThing.html';
component.controller = myThingCtrl;
component.transclude = true;
component.bindings = {
resetFields: '<' // one way binding is needed
};
}
どのように私はこのようなパラメータを送信し、カスタムディレクティブのコントローラーでそれを使用することができます。
function parentController() {
var ctrl = this;
ctrl.bReset= true;
}
ここmyThingためのコンポーネント宣言はありますか? リセット値がtrueの場合は、何らかのアクションを実行し、falseの場合は別のアクションを実行します。コンポーネントの方法で
angular.module("yourModule")
.directive("myThing",function(){
return {
...
restrict : "E",
scope:{
reset:"=reset",
....
},
.....
}
}
});
を:あなたは以下のようなディレクティブを作成しているachiveこのpropouseのために
あなたは 'bReset'があなたの' $ scope'の変数であることを意味していますか? – Derlin
親コンポーネントコントローラにはbReset値があります。 –
あなたは私たちに最小限の例(JSFiddle)を与えることができますか? – Derlin