无法在AngularJS 1.5组件中要求指令
我已经创建了一个指令,它工作得非常好。现在,在将无法在AngularJS 1.5组件中要求指令,angularjs,angularjs-1.5,Angularjs,Angularjs 1.5,我已经创建了一个指令,它工作得非常好。现在,在将angular转换为1.5.0之后,我认为该指令是使用新的.component()符号编写的典型示例 由于某种原因,require属性似乎不再有效 以下是一个简化示例: angular.module('myApp',[]) .组件(“镜像”{ 模板:“{{$ctrl.modelValue}”, 要求:['ngModel'], 控制器:函数(){ var vm=这个; var ngModel=vm.ngModel; ngModel.$viewcha
angular
转换为1.5.0
之后,我认为该指令是使用新的.component()
符号编写的典型示例
由于某种原因,require
属性似乎不再有效
以下是一个简化示例:
angular.module('myApp',[])
.组件(“镜像”{
模板:“{{$ctrl.modelValue}”,
要求:['ngModel'],
控制器:函数(){
var vm=这个;
var ngModel=vm.ngModel;
ngModel.$viewchangelisters.push(onChange);
ngModel.$render=onChange;
函数onChange(){
vm.modelValue=ngModel.$modelValue;
}
}
});代码>
在Angular 1.5的组件语法中,在调用组件的$onInit
生命周期方法之前,您无法访问所需的控制器。因此,您需要将您的初始化移到这里,这里是您的代码片段的工作版本,我在其中添加了$onInit
函数
angular.module('myApp',[])
.组件(“镜像”{
模板:“{{$ctrl.modelValue}”,
要求:{
ngModel:'ngModel',
},
控制器:函数(){
var vm=这个;
vm.$onInit=函数(){
var ngModel=vm.ngModel;
ngModel.$viewchangelisters.push(onChange);
ngModel.$render=onChange;
};
函数onChange(){
vm.modelValue=vm.ngModel.$modelValue;
}
}
});代码>