Angular Js范围。$ apply不起作用

时间:2013-10-30 14:48:35

标签: javascript angularjs

我是棱角分明的新手。我正在尝试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()

1 个答案:

答案 0 :(得分:2)

<div app-controller="AppCtrl"> 

应该是

<div ng-controller="AppCtrl">