Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS$手表在if块中不工作_Javascript_Angularjs_If Statement_Angularjs Scope_Angularjs Watch - Fatal编程技术网

Javascript AngularJS$手表在if块中不工作

Javascript AngularJS$手表在if块中不工作,javascript,angularjs,if-statement,angularjs-scope,angularjs-watch,Javascript,Angularjs,If Statement,Angularjs Scope,Angularjs Watch,我发现,我的角度脚本正在运行: $scope.CurrentUser=null; $scope.DatePicker=新日期(); $scope.$watch('DatePicker',函数(newValue,oldValue){ 如果(新值>新日期()) $scope.DatePicker=新日期(); },对); 但如果我添加if语句,则不会: 试试看: 但我不明白为什么。是否存在已知问题?有人能帮忙吗?来自 此指令创建新的作用域 那么,在你的情况下 <div data-

我发现,我的角度脚本正在运行:

$scope.CurrentUser=null;
$scope.DatePicker=新日期();
$scope.$watch('DatePicker',函数(newValue,oldValue){
如果(新值>新日期())
$scope.DatePicker=新日期();
},对);

但如果我添加if语句,则不会:


试试看:

但我不明白为什么。是否存在已知问题?有人能帮忙吗?

来自

此指令创建新的作用域

那么,在你的情况下

<div data-ng-if="!CurrentUser">
    <input data-ng-model="DatePicker" type="date" id="datepicker" />
</div>
或应用“点规则”

请参阅中有关继承作用域的详细信息

样品

var-app=angular.module('myApp',[]);
app.controller('BodyCtrl',函数($scope,$http){
$scope.CurrentUser=null;
$scope.DatePicker=新日期();
$scope.data={DatePicker:new Date()};
$scope.$watch('DatePicker',函数(newValue,oldValue){
如果(新值>新日期())
$scope.DatePicker=新日期();
},对);
$scope.$watch('data.DatePicker',函数(newValue,oldValue){
如果(新值>新日期())
$scope.data.DatePicker=新日期();
},对);
});

作用域id:{{$id}
作用域id:{{$id}
作用域id:{{$id}

作用域id:{{$id} 作用域id:{{$id}
ng如果
创建她自己的作用域,那么里面的日期选择器在Controllera的作用域中不起作用只要你不更改if语句中的日期选择器,它们是同步的。。。因此,sope似乎与原型继承的工作原理相同:您可以读取paernt属性,但当您尝试写入时,您会创建自己的属性,而不是更改父属性
<div data-ng-if="!CurrentUser">
    <input data-ng-model="$parent.DatePicker" type="date" id="datepicker" />
</div>
<div data-ng-if="!CurrentUser">
    <input data-ng-model="data.DatePicker" type="date" id="datepicker" />
</div>
$scope.data = { DatePicker : new Date() };
$scope.$watch('data.DatePicker', function (newValue, oldValue) {
...