請考慮以下角度應用自定義指令的工作:雙向數據綁定不會在Internet Explorer 9
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script>
<link href="style.css" rel="stylesheet" />
<script src="script.js"></script>
</head>
<body ng-app="app">
<div ng-controller="someController as ctrl">
<simple-directive item="ctrl.item" disabled="false"></simple-directive>
<pre>{{ctrl.item | json}}</pre>
</div>
</body>
var app = angular.module('app', []);
app.directive('simpleDirective', function() {
return {
scope : {
item : '=',
disabled : '='
},
template : '<input type="text" ng-model="item.value" ng-disabled="disabled" />'
};
});
app.controller('someController', function() {
});
在Chrome和Firefox它按預期工作。當我們輸入文本框時,它的值被綁定到屬性ctrl.item.value
。
在Internet Explorer 9上,雙向數據綁定不起作用。
如果我直接使用文本框,沒有自定義指令,它在所有瀏覽器上按預期工作。
爲什麼它不能在Internet Explorer 9上運行?
Plunkr(注意:看來Plunkr本身不會對IE9工作)
有關如何以及爲什麼這可能會解決提問者問題的一個小背景將會有所幫助。 – Andrew