Javascript 传递参数并单击“角度”指令
我想将一些数据从HTML传递到指令,并且该指令应该可以通过ng click进行单击。 问题是如何将link函数的参数传递给模板Javascript 传递参数并单击“角度”指令,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我想将一些数据从HTML传递到指令,并且该指令应该可以通过ng click进行单击。 问题是如何将link函数的参数传递给模板 app.directive(“hello”,function()){ 返回{ 限制:“E”, 模板:“”+attrs.name+“”, 作用域:{}, 链接:函数(范围、元素、属性、ctrl){ scope.updateModel=函数(){ 控制台日志(“yay”); } } }; });尝试此方法 JS app.directive(“hello”,function
app.directive(“hello”,function()){
返回{
限制:“E”,
模板:“”+attrs.name+“”,
作用域:{},
链接:函数(范围、元素、属性、ctrl){
scope.updateModel=函数(){
控制台日志(“yay”);
}
}
};
});代码>尝试此方法
JS
app.directive(“hello”,function()){
返回{
限制:“E”,
模板:“{name}}”,
范围:{
名称:“@”,
用户:“=”
},
链接:函数(范围、元素、属性、ctrl){
scope.updateModel=函数(){
console.log(scope.name,scope.user);
}
}
};
});
HTML
=是双向绑定
@只读取值(单向绑定)
&用于绑定函数
试试这个方法
JS
app.directive(“hello”,function()){
返回{
限制:“E”,
模板:“{name}}”,
范围:{
名称:“@”,
用户:“=”
},
链接:函数(范围、元素、属性、ctrl){
scope.updateModel=函数(){
console.log(scope.name,scope.user);
}
}
};
});
HTML
=是双向绑定
@只读取值(单向绑定)
&用于绑定函数
看:
app.directive(“hello”,function()){
返回{
限制:“E”,
模板:“{name}}”,
范围:{
名称:“@”
},
链接:函数(范围、元素、属性、ctrl){
scope.updateModel=函数(){
控制台日志(“yay”);
}
}
};
});
扑通一声:看:
app.directive(“hello”,function()){
返回{
限制:“E”,
模板:“{name}}”,
范围:{
名称:“@”
},
链接:函数(范围、元素、属性、ctrl){
scope.updateModel=函数(){
控制台日志(“yay”);
}
}
};
});
Plunker:您应该使用作用域,并将单击事件绑定到指令。@Phil谢谢,它正在工作。您应该使用作用域,并将单击事件绑定到指令。@Phil谢谢,它正在工作。谢谢Diego。现在如何在指令的参数中传递模态?例如:
.Model或objects.No。我指的是模态参数。名称是参数,现在如何在此参数中传递模态或对象?有可能吗?谢谢迭戈。现在如何在指令的参数中传递模态?例如:
.Model或objects.No。我指的是模态参数。名称是参数,现在如何在此参数中传递模态或对象?有可能吗?谢谢,吉姆。现在如何在指令的参数中传递模态或对象?对于ex:No。我是指name参数内部的{{user}}
。例如:name=“jimbroosm{{user}}”
name=“'jimbroosm'+{{user}}”尝试使用thisname=“jimbroosm123{{{pages}}”作为parameter@nisar不行。当DOM渲染完成时它是空的。谢谢Jim。现在如何在指令的参数中传递模态或对象?对于ex:No。我是指name参数内部的{{user}}
。例如:name=“jimbroosm{{user}}”
name=“'jimbroosm'+{{user}}”尝试使用thisname=“jimbroosm123{{{pages}}”作为parameter@nisar不行。DOM渲染完成时,它为空。
app.directive("hello", function(){
return {
restrict: "E",
template : '<button ng-click="updateModel()" >{{name}}</button>',
scope : {
name :"@",
user :"="
},
link : function(scope, element, attrs, ctrl){
scope.updateModel = function(){
console.log(scope.name, scope.user);
}
}
};
});
<hello name="jimbrooism" user="user"></hello>
app.directive("hello", function(){
return {
restrict: "E",
template : '<button ng-click="updateModel()">{{name}}</button>',
scope : {
name: "@"
},
link : function(scope, element, attrs, ctrl){
scope.updateModel = function(){
console.log("yay");
}
}
};
});