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