我是棱角分明的新手。我正在尝试http://egghead.io/lessons/angularjs-directives-talking-to-controllers中的一个例子,但不管怎么说它似乎对我没有用。
这是我的HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script src="js/twitterApp.js"></script>
</head>
<body>
<div ng-app="twitterApp">
<div app-controller="AppCtrl">
<div enter="loadMoreTweets()">Roll over to load tweets.</div>
</div>
</div>
</body>
</html>
这里是应用程序,控制器和指令
var tApp= angular.module("twitterApp",[])
tApp.controller("AppCtrl", function ($scope) {
$scope.loadMoreTweets = function () {
alert('Loading tweets.');
}
})
tApp.directive("enter", function () {
return function (scope, element, attrs) {
element.bind("mouseenter", function () {
scope.$apply(attrs.enter);
})
}
})
问题是下面的声明似乎失败了,我无法弄清楚原因,因为我完全按照它在演示中的方式完成。
scope.$apply(attrs.enter)
我甚至尝试过以下但错误控制台显示未找到loadMoreTweets,非常感谢任何帮助。
scope.loadMoreTweets()
答案 0 :(得分:2)
<div app-controller="AppCtrl">
应该是
<div ng-controller="AppCtrl">