当从AngularJS中的指令加载HTML时,请注意不工作

当从AngularJS中的指令加载HTML时,请注意不工作,angularjs,Angularjs,根据URL的路径,我正在加载一个部分 当我加载部分时,它加载并响应控制器功能。然而,我有一个指令,它有一个观察者。当我使用 当我在主页中加载HTML时,它工作得很好。我对这件事很感兴趣 实际上,单击“hello”应该更改$scope.origin,然后观察者应该触发其事件。事实并非如此 我的HTML: <!DOCTYPE html> <html ng-app="App"> <head lang="en"> <meta charset="u

根据URL的路径,我正在加载一个部分

当我加载部分时,它加载并响应控制器功能。然而,我有一个指令,它有一个观察者。当我使用

当我在主页中加载HTML时,它工作得很好。我对这件事很感兴趣

实际上,单击“hello”应该更改$scope.origin,然后观察者应该触发其事件。事实并非如此

我的HTML:

<!DOCTYPE html>
<html ng-app="App">

  <head lang="en">
    <meta charset="utf-8">
    <title>Custom Plunker</title>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.min.js"></script>
    <link rel="stylesheet" href="style.css">
    <script>
      document.write('<base href="' + document.location + '" />');
    </script>
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/coffee-script/1.1.2/coffee-script.min.js"></script>
    <script src="app.js"></script>
    <script src="directive.js"></script>
  </head>

  <body ng-controller="MapCtrl">
    <ng-view></ng-view>
  </body>

</html>
指令.js

(function(angular) {
  var app;
  app = angular.module("App");
  return app.directive("leaflet", function() {
    return {
      restrict: "E",
      replace: true,
      transclude: true,
      template: "<section id='map' class='map'></section>",
      scope: {
        origin: "=origin"
      },
      controller: function($scope, $attrs) {
        return $scope.$watch("origin", (function(newValue, oldValue) {
          return alert("its changed");
        }), true);
      }
    };
  });
})(angular);
(函数(角度){
var-app;
app=角度模块(“app”);
返回应用程序指令(“传单”,函数(){
返回{
限制:“E”,
替换:正确,
是的,
模板:“”,
范围:{
原点:“=原点”
},
控制器:函数($scope$attrs){
返回$scope.$watch(“原点”),函数(newValue,oldValue){
返回警报(“其已更改”);
}),对);
}
};
});
})(角度);
home.html

<button ng-click="clicked()">hello</button>
你好 我怎样才能让它工作


编辑:我刚刚制作了这个纯JS而不是coffeescript

谢谢所有帮助我找到问题的人

这可以通过设置

<button ng-click="clicked()">hello</button>
你好 到

你好
这是因为ng视图将是一个子视图。这个简单的修复程序正在运行。

您实际在哪里使用“传单”指令?你说的是哪个监视程序,是在指令中还是在MapCtrl中?我已经更新了指令中的监视程序Any joy,在未加载部分时工作正常我已经更新为JavaScript而不是Coffee
<button ng-click="clicked()">hello</button>
<button ng-click="$parent.clicked()">hello</button>