发表于: 2017-04-29 23:58:45
2 899
今天完成的事情:
研究双向绑定,为明天的小课堂做准备
明天计划的事情:
讲小课堂
遇到的问题:
看了篇博客,用JS代码写的一个双向绑定
var list = document.querySelectorAll("[ng-click]");
看不懂这个获取到的东西是什么
querySelectorAll
这个属性,百度到的看不懂。
收获:
了解了一点双向绑定,当angularjs在运行的时候,会运行一个叫$scope.$watch的函数,这个函数会实时监听一个变量的变化,
这个函数有三个参数,它指明了”要观察什么”(watchExp),”在变化时要发生什么”(listener),以及你要监视的是一个变量还是一个对象。当我们在检查一个参数时,我们可以忽略第三个参数。例如下面的例子:
$scope.name = 'Ryan';
$scope.$watch( function( ) {
return $scope.name;
}, function( newValue, oldValue ) {
console.log('$scope.name was updated!');
} );
AngularJS将会在$scope中注册你的监视函数。你可以在控制台中输出$scope来查看$scope中的注册项目。
你可以在控制台中看到$scope.name已经发生了变化 – 这是因为$scope.name之前的值是undefined而现在我们将它赋值为Ryan
这样每次改变输入框的内容,控制台就会输出一次console.log,这还只是实现了单向绑定,要想实现双向绑定还需要一个函数$scope.$apply,还在研究中
评论