Maison > Questions et réponses > le corps du texte
Définissez un tel module et utilisez le ngRoute natif d'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);
}
});
À la valeur avec l'identifiant add.html
的ng-template使用了ng-model绑定了$scope
中title
, et définissez le bouton pour lier l'événement add()
<input type="text" ng-model="title" value="标题">
<span>{{title}}</span>
<button ng-click="add()">Btn</button>
Vient maintenant le problème, comme le montre l'image ci-dessous, modifiez la valeur dans la case input
框内的值,<span>
内的值会跟着改变,这说明数据有存在双向绑定,即$scope.title
会随着input
.
Cependant, peu importe comment cela changeinput
框内的值,点击button
内触发add()事件时,控制台输出的a
对象的prop
属性永远是$scope.title的初始值''
( ne changera pas lorsque la valeur du titre change)
Veuillez demander au maître de m'aider Je suis un novice et je n'arrive pas à comprendre après un long moment, je suis infiniment reconnaissant !
迷茫2017-05-16 13:22:13
L'entrée sur votre page est liée à $scope.title, pas à votre a.prop. Ce que vous avez entré et modifié dans l'entrée est $scope.title l'a changé pour vous, mais personne n'a accès à votre a.prop. . Attribuez-lui ensuite une valeur, ce sera donc toujours la valeur que vous avez attribuée au début, qui est "".
给我你的怀抱2017-05-16 13:22:13
Il s'agit d'un problème de référence variable
`$scope.title = '';
var a = {prop: $scope.title};`
Création de deux références de propriétés d'objet à ''
的引用,你改变了$scope.title
的值,就是断掉了$scope.title
的引用,但是a.prop
依然保持对''
迷茫2017-05-16 13:22:13
Il est recommandé de lire l'article Comprendre la portée d'AngularJS.