亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

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

問(wèn)題描述

<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; }})

在實(shí)際項(xiàng)目中,使用 ng-click='check=true' 的方法會(huì)造成點(diǎn)擊后 p 處于顯示的狀態(tài),而 ng-click='alterCheck()' 則不會(huì),請(qǐng)問(wèn)這是什么原因呢?上述代碼無(wú)法復(fù)現(xiàn)我所說(shuō)的現(xiàn)象。有什么額外的原因可能造成這一現(xiàn)象嗎?

問(wèn)題解答

回答1:

我在這個(gè)例子里可以重現(xiàn)類似你描述的問(wèn)題(因?yàn)橹坝龅竭^(guò),所以多看了幾眼):

<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 }];});

這是一個(gè)很簡(jiǎn)單的demo,通過(guò)ng-repeat顯示一組單選框,通過(guò)點(diǎn)擊點(diǎn)選按鈕,在下面的checkIndex: {{ checkIndex }}中顯示選中的單選框的$index。在線demo看這里:jsfiddle

如果運(yùn)行當(dāng)前的代碼,會(huì)發(fā)現(xiàn),{{ checkIndex }}壓根沒(méi)有變化,無(wú)論你怎么使勁點(diǎn),戳破鼠標(biāo)也沒(méi)用

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

那么問(wèn)題來(lái)了,如何造成這個(gè)局面的?我們還是要回到文檔去(最近發(fā)現(xiàn)ng的文檔還是不錯(cuò)的):

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

我認(rèn)為原因在于checkIndex = $index的寫法,使得checkIndex是一個(gè)在每個(gè)template instance中獨(dú)立$scope下的變量,并不是我們?cè)贑ontroller里定義的那個(gè)。

文檔地址: ngRepeat

回答2:

值的復(fù)制和對(duì)象的引用的區(qū)別,這個(gè)問(wèn)題不好回答啊,重現(xiàn)不了錯(cuò)誤,只能大概覺(jué)得。

相關(guān)文章:
主站蜘蛛池模板: 欧美成人免费午夜影视 | 老司机成人福利视频在线观看免费 | 北岛玲日韩精品一区二区三区 | 精品哟哟哟国产在线不卡 | 在线亚洲黄色 | 色婷婷一区二区三区四区成人 | 亚洲国产日产韩国欧美综合 | 亚洲国产品综合人成综合网站 | 男女啪啪成人免费网站 | 黄色成人免费网站 | 成人爱爱网站在线观看 | 亚洲日本欧美综合在线一 | 免费欧美黄色片 | 亚洲一区二区三区中文字幕5566 | 成人a一级毛片免费看 | 美女zw喷水视频在线观看 | 四虎激情做人爰 | 久久99视频精品 | 九九热亚洲精品综合视频 | 亚洲 欧洲 日产 专区 | 明星换脸高清一区二区 | 不卡视频在线播放 | 国产色影院 | 国产国语一级毛片在线放 | 欧美久久超级碰碰碰二区三区 | 国产在线成人一区二区 | 特级一级全黄毛片免费 | 自拍在线观看 | 国产在线视频色综合 | 久草在线免费资源站 | 亚洲成a人片在线观看中文 亚洲成a人片在线观看中文动漫 | 一区二区手机视频 | 99久久国产综合精品成人影院 | 国产一区在线视频观看 | 日本黄色免费一级片 | 欧美国产合集在线视频 | 手机看片自拍 | 国产中文视频 | 国产三级观看久久 | 黄色免费看看 | 免费一级大片儿 |