有没有办法可以检查我的Angular 1指令是否实际传递了一个声明但未初始化的变量,或者它是否未传递我期望的属性?
用其他话说:
$scope.var; // <-- declared but not initialized, value is "undefined"
<div my-directive foo-bar="var"></div>
我如何从我的指令中的link
方法知道foo-bar
实际上传递了一个变量? (而不是<div my-directive></div>
)
答案 0 :(得分:0)
在指令中使用监视
app.directive('myDirective', function() {
return {
scope: {fooBar: '='},
link: function(scope, elem, attrs) {
scope.$watch('fooBar', function(newVal, oldVal) {
if (newVal !== oldVal) {
// we have a new scope value
}
});
}
}
});