angular.js - Angular為什么我的版本換了下就不能用了呢?
問題描述
<p ng-app='' ng-controller='personController'> <!--控制器 --> <!----> <p>姓:<input type='text' ng-model='person.firstName'></p> <p>名:<input type='text' ng-model='person.lastName'></p> <p>{{fullName()}}</p></p><script> function personController($scope){$scope.person={ firstName:'DOJ', lastName:'Lil',};$scope.fullName=function(){ return $scope.person.firstName + $scope.person.lastName;} }</script>
這個(gè)是我的代碼,在1.4是不能顯示的 只有在低于1.2.9才能顯示,有大神知道哪里有問題嗎。剛開始學(xué),不懂的很多,希望大神見諒
問題解答
回答1:關(guān)于你的問題,我猜應(yīng)該是版本更新的原因,因?yàn)锳ngularJS不同的版本,會(huì)有一些不同的差別,1.2.x以下的版本和1.2.x以上的版本差別還是很多的。
你的這種寫法也是不規(guī)范的,我建議還是從規(guī)范的寫法開始,這樣才會(huì)更快的入手,避免一些不必要的Bug。
使用1.2.x版本的結(jié)果是這樣的:

沒有報(bào)錯(cuò)。
使用1.4.x版本的結(jié)果是這樣的:

報(bào)錯(cuò),Error: [ng:areq] Argument ’personController’ is not a function, got undefined說明Angular沒有發(fā)現(xiàn)這個(gè)控制器,所以你要使用規(guī)范的寫法了。
1.一般的寫法demo2.標(biāo)準(zhǔn)的寫法demo
注:使用的AngularJS版本為1.2.1
鑒于你的網(wǎng)絡(luò)不是很好,我把那兩個(gè)demo的代碼剪切了一下,你看看1.一般的寫法:
2.標(biāo)準(zhǔn)的寫法(只截取了重要部分):
1.3版本后 好像記不得了 全局控制器不在有效 現(xiàn)在要定一個(gè)module
相關(guān)文章:
1. html5 - datatables 加載不出來數(shù)據(jù)。2. node.js - mongodb查找子對(duì)象的名稱為某個(gè)值的對(duì)象的方法3. 測(cè)試自動(dòng)化html元素選擇器元素ID或DataAttribute [關(guān)閉]4. html5和Flash對(duì)抗是什么情況?5. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!6. javascript - QQ第三方登錄的問題7. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境8. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?9. spring-mvc - spring-session-redis HttpSessionListener失效10. 正在使用electron和node.js做桌面應(yīng)用,需要實(shí)時(shí)監(jiān)聽是否有網(wǎng)絡(luò)連接,node或者electron是否可以做到

網(wǎng)公網(wǎng)安備