私は 1.5 の角度コンポーネントを使用して速度を上げることに取り組んでいます。私は todd Motto のビデオをフォローして、angular のドキュメントhttps://docs.angularjs.org/guide/componentとともにコンポーネントを使い始めました 。
この時点で、コントローラーを使用するディレクティブの代わりにコンポーネントが使用されているように見えますが、1.5 のコードでは、DOM 操作にディレクティブを引き続き使用します。
コンポーネントコントローラー内の $element、$attrs の目的は何ですか? これらは操作できるようです。これは、ドキュメントのプランカーへのリンクです。彼らが $element を使用していないことは知っていますが、それは私が読んでいる例です。http://plnkr.co/edit/Ycjh1mb2IUuUAK4arUxe?p=preview
しかし、そのようなコードでは...
angular
.module('app', [])
.component('parentComponent', {
transclude: true,
template: `
<div ng-transclude></div>
`,
controller: function () {
this.foo = function () {
return 'Foo from parent!';
};
this.statement = function() {
return "Little comes from this code";
}
}
})
.component('childComponent', {
require: {
parent: '^parentComponent'
},
controller: function () {
this.$onInit = function () {
this.state = this.parent.foo();
this.notice = this.parent.statement();
};
},
template: `
<div>
Component! {{ $ctrl.state }}
More component {{$ctrl.notice}}
</div>
`
})
DOM を操作していない場合、$element はどのように使用されますか?