我在使用角度指令时遇到了麻烦。它似乎没有运行链接功能。
我觉得这很明显,但我无法理解。
该指令是必需的,如下所示
angular.module('test').requires // ["injectedModule"]
以下代码。 Fiddle
任何帮助都会很棒。
angular
.module('test', ['injectedModule'])
.controller('tester', [
function() {
this.test = function(data) {
alert(data);
}
}
]);
angular
.module('injectedModule', [])
.directive('testing', [
function() {
return {
restrict: 'E',
scope: true,
link: function(scope, element, attrs) {
alert(scope, element, attrs);
}
};
}
]);
<div ng-app="test">
<div ng-controller="tester as t">
<video id="test" ng-src="https://scontent.cdninstagram.com/hphotos-xfa1/t50.2886-16/11726387_1613973172221601_1804343601_n.mp4" testing="t.test(el)" />
</div>
</div>
答案 0 :(得分:3)
在我看来像是
restrict: 'E',
应该是
restrict: 'A',
你的指令根本没有被调用。
答案 1 :(得分:1)
我认为错误在于您对指令的限制。 您正在限制您的指令仅匹配元素(换句话说,标记)。您应该限制匹配属性“A”。这是有棱角的官方文档https://docs.angularjs.org/guide/directive 这是你的fiddle working
代码示例:
angular
.module('injectedModule', [])
.directive('testing', [
function() {
return {
restrict: 'A',
scope: true,
link: function(scope, element, attrs) {
alert(scope, element, attrs);
}
};
}
]);