Definieren Sie ein solches Modul und verwenden Sie Angulars natives ngRoute
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);
}
});
Am Wert mit der ID add.html
的ng-template使用了ng-model绑定了$scope
中title
und die Schaltfläche zum Binden des add()-Ereignisses festlegen
<input type="text" ng-model="title" value="标题">
<span>{{title}}</span>
<button ng-click="add()">Btn</button>
Jetzt tritt das Problem auf, wie in der Abbildung unten gezeigt. Ändern Sie den Wert im Feld input
框内的值,<span>
内的值会跟着改变,这说明数据有存在双向绑定,即$scope.title
会随着input
.
Jedoch, egal wie es sich ändertinput
框内的值,点击button
内触发add()事件时,控制台输出的a
对象的prop
属性永远是$scope.title的初始值''
( ändert sich nicht, wenn sich der Wert des Titels ändert)
Bitte bitte den Meister, mir zu helfen, ich bin ein Neuling und kann es nach langer Zeit nicht mehr herausfinden, ich bin unendlich dankbar!
你页面的input绑定的是$scope.title,而不是你的a.prop,你在input里面输入改变的是$scope.title,是angular帮你改变的,但是你的a.prop没人再赋值给它啊,所以一直都是你开始赋的值,就是""。
这是变量引用问题
`$scope.title = '';
创建了两个对象属性对
''
的引用,你改变了$scope.title
的值,就是断掉了$scope.title
的引用,但是a.prop
依然保持对''
的引用建议看一下 理解AngularJS的作用域Scope 这篇文章。