现在想实现的是在angularjs中实现一个自定义指令,当选择的时候页面上要显示选的值
Title
是{{listData1111.value}}
var app = angular.module('myApp',[]);
app.controller('myCtrl',function($scope){
$scope.listData = [
{id:1,title:'title1'},
{id:2,title:'title2'},
{id:3,title:'title3'}
];
console.log($scope);
});
app.directive('test',function(){
return{
restrict:'A',
scope:{
data:'='
},
require:'^ngModel',
template:'\
{{value}}\
\
- {{list.title}}
\
\
',
link:function(scope,elem,attr,ctrl){
scope.isShow =false;
scope.showUl = function(){
scope.isShow = !scope.isShow;
}
scope.setValue = function(index){
scope.value = scope.data[index].id;
ctrl.$setViewValue(scope.data[index].id);
}
}
}
});
但是现在好像只会在自定义指令中显示当前值,父控制器不显示
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
自定义指令和你的控制器不在一个作用域里面,当然拿不到了。
建议可以使用 $broadcast 和 $on 去广播。
修改答案----------
定义一个参数用来指令和控制器之间使用,直接赋值。