Haj*_*aji 1 angularjs angularjs-scope angular-directive
我有一个自定义指令,有时使用ng-hide隐藏:
<my-custom-directive ng-show="vm.showBox"
value="vm.objects"
></my-custom-directive>
Run Code Online (Sandbox Code Playgroud)
我的自定义指令代码的片段:
function myCustomDirective() {
var directive = {
controller: controller,
controllerAs: 'vm',
///...
scope: {
value: '='
}
};
return directive;
function controller($scope) {
var vm = this;
///...
$scope.value.dates = $scope.value.dates || [];
}
}
Run Code Online (Sandbox Code Playgroud)
问题:即使不应该加载/显示指令(因为它vm.showBox是假的),自定义指令的控制器代码$scope.value也会运行,在这种情况下它会失败,因为没有传递(它在那里未定义).
如果指令被隐藏,为什么指令的控制器代码仍会运行?我想假设如果使用该指令,则给出有效参数而不必检查是否$scope.value已定义.
| 归档时间: |
|
| 查看次数: |
882 次 |
| 最近记录: |