Javascript 指令作用域变量
例如,我在html页面中连续三次使用一个指令,每次传递给它的范围变量都不同,但它从第三个指令?中获取所有范围变量 第一次,Javascript 指令作用域变量,javascript,angularjs,scope,angularjs-scope,Javascript,Angularjs,Scope,Angularjs Scope,例如,我在html页面中连续三次使用一个指令,每次传递给它的范围变量都不同,但它从第三个指令?中获取所有范围变量 第一次, <my-dir is-active=true></my-dir> 在这里每次我都得到“行动”日志三次?这应该只有一次,因为前两次我没有从指令中传递“IsAction”范围?我很确定您的问题只是语法错误。如果你纠正了这些错误,它似乎工作正常 你在这段代码中有很多语法错误…@Xingh另外,你需要在你的指令中添加restrict:'E'。是的,我已
<my-dir is-active=true></my-dir>
在这里每次我都得到“行动”日志三次?这应该只有一次,因为前两次我没有从指令中传递“IsAction”范围?我很确定您的问题只是语法错误。如果你纠正了这些错误,它似乎工作正常
你在这段代码中有很多语法错误…@Xingh另外,你需要在你的指令中添加
restrict:'E'
。是的,我已经纠正了它,但仍然存在相同的问题,我们在代码中使用restrict:'E'。你看了plunker了吗?我看不出有什么问题。谢谢,这是我的错,它工作正常:)
<my-dir is-active="true"></my-dir>
<my-dir is-Active="true" is-action="true"><my-dir>
angular
.module('app')
.directive("myDir", function(){
scope:{
isActive:'@',
isAction:'@'
},
controller:[function('$scope'){
$scope.isAction ? doAction() : doActive();
function doAction()
{
console.log('in action');
}
function doActive()
{
console.log('in active');
}
}]
})
.directive("myDir", function(){
return {
scope:{
isActive:'@',
isAction:'@'
},
controller:function($scope){
$scope.isAction ? doAction() : doActive();
function doAction()
{
console.log('in action');
}
function doActive()
{
console.log('in active');
}
}
}
})