我想知道是否有一种方法可以将参数传递给指令?
我想做的是从控制器添加一个指令,如下所示:
$scope.title = "title";
$scope.title2 = "title2";
angular.element(document.getElementById('wrapper')).append('<directive_name></directive_name>');
是否可以同时传递一个参数,以便我的指令模板的内容可以链接到一个作用域或另一个作用域?
这是指令:
app.directive("directive_name", function(){
return {
restrict:'E',
transclude:true,
template:'<div class="title"><h2>{{title}}</h3></div>',
replace:true
};
})
如果我想使用相同的指令但使用$ scope.title2怎么办?
这是我解决问题的方法:
指示
app.directive("directive_name", function(){
return {
restrict: 'E',
transclude: true,
template: function(elem, attr){
return '<div><h2>{{'+attr.scope+'}}</h2></div>';
},
replace: true
};
})
控制者
$scope.building = function(data){
var chart = angular.element(document.createElement('directive_name'));
chart.attr('scope', data);
$compile(chart)($scope);
angular.element(document.getElementById('wrapper')).append(chart);
}
现在,我可以通过同一指令使用不同的作用域,并动态附加它们。
问题内容: 看看这个小提琴,我必须更改什么,才能使用我在HTML中定义的参数来评估模板中的表达式?因为我通过了SAVE按钮,所以它应该调用控制器的- function? 我看不出来。感谢帮助! 问题答案: 您可以按照Roy的建议设置两种方式的数据绑定。因此,如果您既想要又绑定到本地范围,则可以 由于要传递这些值,因此可以在指令的控制器中访问它们。但是,如果您想在父作用域的上下文中运行一个函数,这似
问题内容: 我有以下指令: 这是对象结构: 我希望它根据对象内部的数据生成一个链接。 不幸的是,由于我无法访问该对象的任何内部值,因此它不起作用,但是如果我将其传递给一个简单的数据结构,例如: 我可以使用访问它。 这是我的指令代码: 谢谢 问题答案: 在Angularjs官方网站上阅读说明: @或@attr- 将本地范围属性绑定到DOM属性的值。由于DOM属性是字符串,因此结果始终是字符串。如果未
问题内容: 是否可以将参数传递给filter函数,以便您可以按任何名称进行过滤? 就像是 问题答案: 实际上,还有另一种(也许是更好的解决方案),您可以使用angular的本机“过滤器”过滤器,并且仍将参数传递给自定义过滤器。 考虑以下代码: 要进行此工作,您只需将过滤器定义如下: 如您在这里看到的,weDontLike实际上返回另一个函数,该函数的范围内有您的参数以及来自过滤器的原始项。 我花了
问题内容: 这里有角的新手。我试图找出将对象传递给指令时出了什么问题。 这是我的指令: 这是我调用指令的模板: 是一组对象。 当我运行此,日志,而日志罚款的范围,甚至有一个与所有的数据,我找孩子。 我不确定我在这里做错了什么,因为这种确切的方法以前对我有用。 编辑: 我已经用所有必需的代码创建了一个插件:http ://plnkr.co/edit/uJCxrG 如您所见,该作用域在范围中可用,但我
问题内容: 通过指令的属性将数组传递给指令时,我目前遇到问题。我可以将其读取为字符串,但是我需要将其作为数组,所以这是我想出的,但是不起作用。帮助任何人?提前 Javascript :: HTML :: 问题答案: 如果要从您的作用域访问此数组,即加载到控制器中,则只需传递变量名称即可: 指示: 模板:
问题内容: 假设我有两个输入框,分别具有对应的ng-model作为fname和lname。如果我将http请求称为: 它会调用URL: 我在后端(python)遇到的错误是: 这些参数不以字符串形式发送吗?如果没有,该如何解决? 问题答案: 这是您的操作方式: Angular负责对参数进行编码。 Maxim Shoustin的答案不起作用(这不是有效的JavaScript文字),而JeyTheva