ディレクティブを発見している間、次のことにぶつかりました:
<div ng-app="twitterApp">
<div ng-controller="AppCtrl">
<div enter>Roll over to load more tweets</div>
</div>
</div>
var app = angular.module('twitterApp', []);
app.controller("AppCtrl", function ($scope) {
$scope.loadMoreTweets = function () {
alert("Loading tweets!");
}
})
app.directive("enter", function () {
return function (scope, element, attrs) {
element.bind("mouseenter", function () {
scope.loadMoreTweets();
})
}
})
彼らは次のように述べています。
したがって、次のようになります。
<div ng-app="twitterApp">
<div ng-controller="AppCtrl">
div enter="loadMoreTweets()">Roll over to load more tweets</div>
</div>
</div>
app.directive("enter", function () {
return function (scope, element, attrs) {
element.bind("mouseenter", function () {
scope.$apply(attrs.enter);
})
}
})
しかし、それは戻っていません:
**<div onClick="loadMoreTweets()">Roll over to load more tweets</div>**
これは私を混乱させます。このようにして、JavaScript が HTML と再び混ざり合ってしまいます。そして、私たちはそれを避けようとしていませんか? 最近は addEventListener() と attachEvent() を使用していますが、これは間違っていると思いますか。