我的指令模板上有一个简单的切换变量
<div ng-mouseenter="$ctrl.myToggle = true" ng-mouseleave="$ctrl.myToggle = false">
...
</div>
<div ng-if="$ctrl.myToggle">
... toggled content
</div>
我正在使用打字稿编写我的控制器。
我应该在我的控制器类上定义myToggle
,虽然它永远不会被使用? (我不需要切换功能,因为它是唯一必须更改的属性)
export MyController {
public myToggle:boolean = false;
construtctor(){
//...
}
//...
}
仅在我的模板中使用这种逻辑是不好的做法吗?
答案 0 :(得分:0)
控制器和模板(视图)都是单个实体的一部分 - 指令/组件。这是在Angular 2中进一步开发的概念,其中控制器类称为指令/组件类。
由于它应该由组件本身使用,因此将属性可见性指定为private
是正确的。
在某些情况下,缺少getter / setter toggle()
方法可能被认为是一种不好的做法,因为它的存在有利于封装和可测试性,但在当前情况下,使用toggle
属性绝对是相同的。