国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

angular.js - 請問ng-click="alterCheck()"和ng-click="check=true"有什么不同?

瀏覽:112日期:2024-10-01 10:33:22

問題描述

<section ng-app='app' ng-controller='ctrl'> <p ng-show='check && form.$invalid'></p> <form name='form' ng-submit='init()'> <input type='text' ng-model='text' required/> <!-- <input type='submit' ng-click='alterCheck()'/> --> <input type='submit' ng-click='check=true'/> </form></section>angular.module(’app’, []).controller(’ctrl’, function($scope){ $scope.check = false; $scope.init2 = function() { $scope.text = ’’; } $scope.init = function() { $scope.init2(); $scope.check = false; } $scope.alterCheck = function() { $scope.check = true; }})

在實際項目中,使用 ng-click='check=true' 的方法會造成點擊后 p 處于顯示的狀態,而 ng-click='alterCheck()' 則不會,請問這是什么原因呢?上述代碼無法復現我所說的現象。有什么額外的原因可能造成這一現象嗎?

問題解答

回答1:

我在這個例子里可以重現類似你描述的問題(因為之前遇到過,所以多看了幾眼):

<p ng-controller='DemoCtrl'> <ul> <li ng-repeat='item in items'> <input type='radio' name='group' ng-model='item.checked' ng-click='checkIndex = $index'>{{ item.name }} <!-- <input type='radio' name='group' ng-model='item.checked' ng-click='changeCheckIndex($index)'>{{ item.name }} --> </li> </ul> checkIndex: {{ checkIndex }}</p>

var demo = angular.module(’myApp’, []);demo.controller(’DemoCtrl’, function($scope, $timeout){ $scope.checkIndex = 0;$scope.changeCheckIndex = function(index){$scope.checkIndex = index; };$scope.items = [{name: ’Beijing’,checked: false },{name: ’Shanghai’,checked: false },{name: ’Taiyuan’,checked: false }];});

這是一個很簡單的demo,通過ng-repeat顯示一組單選框,通過點擊點選按鈕,在下面的checkIndex: {{ checkIndex }}中顯示選中的單選框的$index。在線demo看這里:jsfiddle

如果運行當前的代碼,會發現,{{ checkIndex }}壓根沒有變化,無論你怎么使勁點,戳破鼠標也沒用

但如果template換成我注釋掉的那部分代碼,改用changeCheckIndex方法,{{ checkIndex }}就變化了。

那么問題來了,如何造成這個局面的?我們還是要回到文檔去(最近發現ng的文檔還是不錯的):

angular.js - 請問ng-click="alterCheck()"和ng-click="check=true"有什么不同?

我認為原因在于checkIndex = $index的寫法,使得checkIndex是一個在每個template instance中獨立$scope下的變量,并不是我們在Controller里定義的那個。

文檔地址: ngRepeat

回答2:

值的復制和對象的引用的區別,這個問題不好回答啊,重現不了錯誤,只能大概覺得。

相關文章:
主站蜘蛛池模板: 精品国产精品久久一区免费式 | 国产一级黄毛片 | 日本特黄特色大片免费视频网站 | 久久99这里只有精品国产 | 久久久久香蕉视频 | 日韩在线观看中文字幕 | 综合图片亚洲网友自拍10p | аⅴ资源天堂8在线 | 久久久久久久一线毛片 | 国产成人香蕉久久久久 | se视频在线观看 | 国产乱色在线观看 | 目韩一区二区三区系列片丶 | 日本香蕉一区二区三区 | 毛片在线看免费 | 国产大乳孕妇喷奶水在线观看 | 国产精品亚洲专区一区 | 免费在线观看黄色毛片 | 欧美一区二区三区久久综 | 久久91在线 | 久久久黄色大片 | 一级毛片成人午夜 | 欧美色性视频 | 亚洲一区二区三区成人 | 99re国产视频 | 草久网| 日韩中文字幕精品一区在线 | 亚洲成人看片 | 中文字幕在线视频观看 | 精品国产欧美另类一区 | 男女那个视频免费 | 精品久久久久不卡无毒 | 久久免费影院 | 成人爱爱网站在线观看 | 99热精品在线免费观看 | japanese 色系 tube日本 | 99爱免费观看视频在线 | 亚洲三级在线 | 国产亚洲一区二区三区在线观看 | 国产末成年女噜噜片 | 亚洲三级在线 |