Angularjs 如何在指令JS中传递一个参数?
我学习如何用Angular JS编写自定义指令。我做了第一步:Angularjs 如何在指令JS中传递一个参数?,angularjs,Angularjs,我学习如何用Angular JS编写自定义指令。我做了第一步: .directive("myClass", function(){ return function (scope, element, attributes){ // HERE TO GET PARAMETER AND COMPARE } }); <div my-class="value"></div> 我尝试将参数值传递给指令my class,在用开关大小写检查该指
.directive("myClass", function(){
return function (scope, element, attributes){
// HERE TO GET PARAMETER AND COMPARE
}
});
<div my-class="value"></div>
我尝试将参数值传递给指令my class,在用开关大小写检查该指令并返回类名之后
如何在内部获取此值?返回值错误。应该是这样的:
var module = angular.module('someModule', []);
module.directive("myClass", function(){
return {
restrict: 'A',
// other scope options here...
link: function ($scope, $el, $attrs) {
// $attrs.myClass == 'value'
}
}
});
有多种方法可以将参数传递给指令。 参考 一种方法是在指令定义对象中使用scope属性,以便这些值在链接函数中可用 另一种方法是使用属性 在您的情况下,可以使用属性访问指令中指定的参数 尝试记录属性并查看所有可用的属性 您可以使用$parse来获取参数值
.directive("myClass", function($parse){
return function (scope, element, attributes){
// HERE TO GET PARAMETER AND COMPARE
console.log(attributes);
console.log($parse(attributes.myClass));
}
});
<div my-class="value"></div>
将值传递给指令的最简单方法是隔离指令的范围 角度。模数PP,[] .directivemyClass、函数{ 返回{ 限制:“A”, 范围:{ myValue:“@” }, 链接:功能范围、元素、属性{ console.logscope.myValue } } };
这不是一个完整的指令定义。指令通常不会返回函数,它们返回一个具有作用域、模板、控制器等的对象。也许您只需要一个。阅读指南,并在有问题时提出更具体的问题。很难告诉您如何纠正这一点并使指令起作用,因为您没有真正描述指令应该做什么。返回类名是什么意思?您试图将其返回到何处?您可以通过编写属性来获取值。MyClass您可以逐行注释此sampe吗?@Darama抱歉,我听不懂。您可以解释每行内容吗?您可以从本文中清楚地了解我在控制台中未定义我如何使用类似ng类的指令,它将返回aaAttribute class=redI,我认为应该限制它:“C”