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) {
...