Javascript 控制器不工作时的角度1.5组件绑定
因此,在我使用控制器执行某个功能之前,我的绑定一直在工作。我可以执行$ctrl.value,并且数据的值显示在视图上 当我尝试实现一个控制器时,该值将变得未定义。为什么会这样 当前组件:Javascript 控制器不工作时的角度1.5组件绑定,javascript,angularjs,angular2-components,angular-components,Javascript,Angularjs,Angular2 Components,Angular Components,因此,在我使用控制器执行某个功能之前,我的绑定一直在工作。我可以执行$ctrl.value,并且数据的值显示在视图上 当我尝试实现一个控制器时,该值将变得未定义。为什么会这样 当前组件: module.component('ratingComponent'){ templateUrl:'jay-movies/movie rating.component.html', 绑定:{ 值:“我想您忘了将vm放在scope对象之前。 所以在模板中试试这个 ng-repeat="stars in vm.e
module.component('ratingComponent'){
templateUrl:'jay-movies/movie rating.component.html',
绑定:{
值:“我想您忘了将vm
放在scope对象之前。
所以在模板中试试这个
ng-repeat="stars in vm.entries track by $index "
你有下面提到的几个错误
< >在使用<代码>控件> 语法时,不要将<代码> $范围>代码范围。这里使用的是组件,因此不应考虑使用<代码> $范围< /C> > /LI>
绑定
的值
将在控制器上下文中可用。因此,尽管有$scope.value
,但一定要使用vm.value
在组件启动时赋值时,使用$onInit
生命周期挂钩
现在使用上的vm.entries
,而不仅仅是entries
控制器
controller: ()=>{
let vm = this;
$onInit(){
vm.entries = new Array(vm.value);
onsole.log(vm.entries);
}
}
请尝试此ng repeat=“stars in vm.entries track by$index”
部分为真。要实现此目的,OP必须进行几项更改。请检查以下内容:)我用$scope.entries绑定条目,所以我不必使用控制器vm,对吗?这样我就可以看到视图,使用vm时,我的视图不会出现。当使用scope视图时,会出现,但没有来自值的数据,因为scope.entries和vm.entries在控制台时都给我未定义的值。您使用co的主控制器吗controlleras
语法?我的意思是,对于试图解决这个问题的
,可能使用controller而不是scope,但这造成了更多的问题视图也被第一个问题“value”数据未定义所阻塞,所以目前我只是在使用scope,没有将controller用作。如果你ave time你是对的。我没有注意使用$scope
。谢谢你提到它。你的答案总是完整的:)我忘了在评论中提到我在scope之前第一次尝试使用controller,它是同一个vm,条目仍然未定义。我假设下面是$onInit的正确sintax,它会引发代码错误。controllerAs:'vm',controller:()=>{let vm=this;vm.$onInit=()=>{vm.entries=new Array(vm.value);console.log(vm.entries);}@jaychacko你能加上plunker/fiddle吗,那对我深入挖掘会有帮助这就是全部代码,plunker今天不想工作,我想:)