我想创建一个指令,当用户在文本区域中键入'@u'显示用户或'@c'displaying国家/地区时,我想根据关键字显示文本区域下方的选择选项并给出访问上下移动以选择选项。同时用户还需要能够在文本区域中键入文本。任何人都可以帮助我。
答案 0 :(得分:0)
工作人员:
https://plnkr.co/edit/CCEqiupjdHyaF2MriJil?p=preview
angular.module('testApp',[]).controller('testCtrl',['$scope',function($scope){
$scope.users = ['user1','user2','user3'];
$scope.country = ['IND','AUS','ENG'];
}]).directive('userCountry',function(){
return{
scope:{
users : '=users',
country:'=country'
},
restrict : 'EA',
templateUrl:'userCountry.html',
controller: ['$scope',function($scope){
$scope.watchStart=false
$scope.textareaChange = function(evt) {
if(evt.key === "@"){
$scope.watchStart = true;
return;
}
if($scope.watchStart){
if(evt.key === "u"){
$scope.options=$scope.users;
}else if(evt.key === "c"){
$scope.options=$scope.country;
}else{
$scope.options=[];
}
$scope.watchStart = false;
}
}
}]
};
});
请通过plunkr。我排除了以下内容: