我有以下指令:
angular.module('myModule', []).directive('myDir', function () {
return {
scope: {},
restrict: 'E',
link: function () {
alert('hello!');
}
};
});
我在这样的模板中使用它:
<my-dir attr1="hello" attr2="world" />
当我加载页面时,我没有收到警报。但是,如果我所做的只是分配compile
属性而不是link
属性,我会收到警报。为什么不调用我的link
函数,但它很高兴地调用compile
?
注意:我甚至尝试从pre
函数返回post
/ compile
链接对象,但它仍然不会调用任何内容。如果我<my-dir>
自我关闭(如上所述)也没关系。
答案 0 :(得分:1)
相同的代码对我有用,请查看
<html>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0-rc.0/angular.min.js"></script>
<script type="text/javascript">
var myApp = angular.module('myApp',[]).directive('myDir', function () {
return {
scope: {},
restrict: 'E',
link: function () {
alert('hello!');
}
};
});
</script>
<body ng-app="myApp">
<my-dir attr1="hello" attr2="world" />
</body>
答案 1 :(得分:0)
请你试试这个。
var app = angular.module('myModule', []);
app.directive('myDir', myfunc);
function myfunc() {
return {
scope: {},
restrict: 'E',
link: function () {
alert('hello!');
}
};
};