数据绑定如何在AngularJS框架中工作?
我没有在他们的网站上找到技术细节.当数据从视图传播到模型时,它或多或少清楚它是如何工作的.但是AngularJS如何在没有setter和getter的情况下跟踪模型属性的变化?
我发现有一些JavaScript观察者可以做这项工作.但Internet Explorer 6和Internet Explorer 7不支持它们.那么AngularJS如何知道我改变了例如以下内容并在视图上反映了这一变化?
myobject.myproperty="new value";
Run Code Online (Sandbox Code Playgroud) 我有这个简单的场景:
输入元素,其值由jQuery的val()方法更改.
我试图用jQuery设置的值更新角度模型.我试着编写一个简单的指令,但它并没有按照我的意愿行事.
这是指令:
var myApp = angular.module('myApp', []);
myApp.directive('testChange', function() {
return function(scope, element, attrs) {
element.bind('change', function() {
console.log('value changed');
})
}
})
Run Code Online (Sandbox Code Playgroud)
这是jQuery的一部分:
$(function(){
$('button').click(function(){
$('input').val('xxx');
})
})
Run Code Online (Sandbox Code Playgroud)
和HTML:
<div ng-app="myApp">
<div ng-controller="MyCtrl">
<input test-change ng-model="foo" />
<span>{{foo}}</span>
</div>
</div>
<button>clickme</button>
Run Code Online (Sandbox Code Playgroud)
这是我尝试的小提琴:http:
//jsfiddle.net/U3pVM/743/
有人可以指点我正确的方向吗?