Javascript 如何将ng模型从角度1.6组件传递到输入元素
我试图创建一个Angular 1.6组件,它是输入标记的包装器。我正在提前创建一个类型或自动完成。我必须在html中使用ng模型来创建组件,这很好,但我希望在子输入元素中使用ng模型。对于组件,必须使用元素,不能像指令那样使用属性标记。我已经创建了一个代码笔来说明我正在尝试做什么 我想使用ngController更新输入元素中的值。在代码笔中,如果键入输入,将看到绑定模型数据显示在输入元素下方 代码如下:Javascript 如何将ng模型从角度1.6组件传递到输入元素,javascript,angularjs,custom-component,Javascript,Angularjs,Custom Component,我试图创建一个Angular 1.6组件,它是输入标记的包装器。我正在提前创建一个类型或自动完成。我必须在html中使用ng模型来创建组件,这很好,但我希望在子输入元素中使用ng模型。对于组件,必须使用元素,不能像指令那样使用属性标记。我已经创建了一个代码笔来说明我正在尝试做什么 我想使用ngController更新输入元素中的值。在代码笔中,如果键入输入,将看到绑定模型数据显示在输入元素下方 代码如下: angular.module('app',['EntryField']); 角度.mo
angular.module('app',['EntryField']);
角度.module('app').controller('DataController',['$scope',function($scope){
$scope.fieldDataArray=[{“label”:“First Name”,“content”:“},{“label”:“Last Name”,“content”:“}];
console.log(“$scope.fieldDataArray:”,$scope.fieldDataArray)
}]);
angular.module('EntryField',[]).component('customAutoComplete'{
模板:“
[{{$ctrl.ngModelController.$viewValue}}]”,
要求:{
ngModelController:“ngModel”
},
绑定:{},
控制器:“CustomAutocompleteController”
});
角度.module('EntryField').controller('CustomAutocompleteController',CustomAutoController);
CustomAutoController.$inject=['$scope','$element'];
函数CustomAutoController($scope,$element){
让ctrl=this;
ctrl.$onInit=函数(){
ctrl.ngModelController.$parsers.unshift(函数(inputValue){
handleInputUpdate(inputValue);
});
}
函数handleInputUpdate(inputValue){
//是否自动完成功能
}
}
角度1.x自动完成
{{fieldData.label}
我有一个很好的解决方案,但我想知道是否有其他人有更好的解决方案
var-app=angular.module('app',['EntryField']);
app.controller('DataController',['$scope',函数($scope){
$scope.fieldDataArray=[{
“标签”:“名字”,
“内容”:”
}, {
“标签”:“姓氏”,
“内容”:”
}];
log($scope.fieldDataArray:,$scope.fieldDataArray);
}]);
角模('EntryField',[]);
angular.module('EntryField')。组件('customAutoComplete'{
模板:“
[{{$ctrl.fieldData.content}}]”,
绑定:{
字段数据:“=”
},
控制器:函数($element,$timeout){
让ngModelController;
此。$postLink=function(){
如果(!ngModelController){
ngModelController=angular.element($element.find('input')).controller('ngModel');
ngModelController.$parsers.unshift(函数(inputValue){
handleInputUpdate(inputValue);
返回输入值;
});
函数handleInputUpdate(inputValue){
log(“!!!!!!!!!!!!!!!!!!!!!!!!!!!!!得到一些输入:”,inputValue);
}
}
}
}
});代码>
{{fieldData.label}
我有一个很好的解决方案,但我想知道是否有其他人有更好的解决方案
var-app=angular.module('app',['EntryField']);
app.controller('DataController',['$scope',函数($scope){
$scope.fieldDataArray=[{
“标签”:“名字”,
“内容”:”
}, {
“标签”:“姓氏”,
“内容”:”
}];
log($scope.fieldDataArray:,$scope.fieldDataArray);
}]);
角模('EntryField',[]);
angular.module('EntryField')。组件('customAutoComplete'{
模板:“
[{{$ctrl.fieldData.content}}]”,
绑定:{
字段数据:“=”
},
控制器:函数($element,$timeout){
让ngModelController;
此。$postLink=function(){
如果(!ngModelController){
ngModelController=angular.element($element.find('input')).controller('ngModel');
ngModelController.$parsers.unshift(函数(inputValue){
handleInputUpdate(inputValue);
返回输入值;
});
函数handleInputUpdate(inputValue){
log(“!!!!!!!!!!!!!!!!!!!!!!!!!!!!!得到一些输入:”,inputValue);
}
}
}
}
});代码>
{{fieldData.label}