Tentukan modul sedemikian dan gunakan ngRoute asli angular
var app = angular.module('NewsPub', ['ngRoute']);
//配置路由,controller為下面定義的AddController
app.config['$routeProvider', function($routeProvider) {
$routeProvider.when('/add', {templateUrl: add.html,controller: 'AddController'});
}
app.controller('AddController',function($scope){
$scope.title = '';
var a = {prop: $scope.title};
$scope.add = function(){
console.dir(a);
}
});
Pada nilai dengan id add.html
的ng-template使用了ng-model綁定了$scope
中title
, dan tetapkan butang untuk mengikat acara tambah()
<input type="text" ng-model="title" value="標題">
<span>{{title}}</span>
<button ng-click="add()">Btn</button>
Sekarang datang masalah, seperti yang ditunjukkan dalam rajah di bawah, tukar nilai dalam kotak input
框內(nèi)的值,<span>
內(nèi)的值會跟著改變,這說明數(shù)據(jù)有存在雙向綁定,即$scope.title
會隨著input
.
Namun, walau macam mana pun ia berubahinput
框內(nèi)的值,點擊button
內(nèi)觸發(fā)add()事件時,控制臺輸出的a
對象的prop
屬性永遠是$scope.title的初始值''
( tidak akan berubah apabila nilai tajuk berubah)
Sila minta tuan untuk membantu saya, saya seorang pemula dan saya tidak dapat memikirkannya setelah sekian lama, saya bersyukur tidak terhingga!
Input pada halaman anda terikat pada $scope.title, bukan a.prop anda . Kemudian tetapkan nilai kepadanya, jadi nilai itu akan sentiasa menjadi nilai yang anda tetapkan pada mulanya, iaitu "".
Ini ialah masalah rujukan berubah
`$scope.title = '';
var a = {prop: $scope.title};`
Mencipta dua rujukan sifat objek kepada ''
的引用,你改變了$scope.title
的值,就是斷掉了$scope.title
的引用,但是a.prop
依然保持對''