fiddle連結:http://jsfiddle.net/08tox9k4/
<html ng-app = 'test'>
<head></head>
<body ng-controller = 'testCtrl'>
<p ng-repeat="qq in obj.qqs">
<input class="qq" ng-model="obj.qqs[$index]" placeholder="請輸入">;
</p>
<script src="angular.min.js"></script>
<script type="text/javascript">
angular.module('test',[])
.controller('testCtrl', ['$scope', function($scope){
$scope.obj = {
qqs: ["12345","23456"]
};
}]);
</script>
</body>
</html>
問題: 當在產(chǎn)生的input標籤內(nèi)修改數(shù)值的時候每修改一位,就失去滑鼠焦點,可能是因為資料的變更刷新了視圖。
如何能在input內(nèi)完整的修改完數(shù)值?然後透過儲存按鈕什麼的儲存修改?
或者說如何暫時性取消對變數(shù)的監(jiān)視?
ringa_lee
有一些問題:
1. ng-model="obj.qqs[$index]" 應該是ng-model="qq" 這個就可以解決focus消失的問題。
2. 一般不把primitive type的變數(shù)當作ng-model, 這裡可以用literal object。
["12345","23456"] => [{val: "12345"}, {val: "23456"}]
那麼ng-model也要修改成qq.val
3. 如何透過按鈕儲存,用ng-click即可。
4. Style的問題。用'controller as ctrl'的語法,避免在controller裡面使用$scope。詳見下面的sample
Working sample: http://jsfiddle.net/wfh04vhc/
http://www.lovelucy.info/understanding-scopes-in-angularjs.html