【发布时间】:2016-06-08 06:29:06
【问题描述】:
我是 angularjs 的新手。我想将数据从 html 表单传递到另一个路由。
这是index.html
的部分<div ng-app="myApp" ng-controller="HomeController">
<div class="container">
<div class="row">
<div class="col-md-12">
<div ng-view=""></div>
</div>
</div>
</div>
</div>
这里是路线
var myApp = angular.module('myApp', ['ngRoute']);
myApp.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/', {
templateUrl: 'views/home.html',
controller: 'HomeController'
});
$routeProvider.when('/about', {
templateUrl: 'views/about.html',
controller: 'AboutController'
});
}]);
当路由是 / 时,它会点击 views/home.html,其中有一个表单
<form action="#/about" ng-submit="submitData()">
<input type="text" name="address" ng-model="user.address" />
<input type="submit" />
</form>
我有一个用户服务,其实现是
myApp.factory("user", function () {
return {};
});
我在 HomeController 中注入 user 服务,例如
myApp.controller("HomeController", function ($scope, user) {
$scope.user = user;
// and then set values on the object
// $scope.user.address = "1, Mars"; // when uncomment this line it can be accessed on AboutController? Why? Otherwise I cannot access user.address
console.log($scope.user);
});
不要在上面的代码中记下我的评论..
并将 user 传递给 AboutController,如
myApp.controller("AboutController", function ($scope, user) {
$scope.user = user;
// and then set values on the object
$scope.user.firstname = "John";
$scope.user.secondname = "Smith";
console.log($scope.user);
});
这里是about.html
<p>
{{ user.address }}
</p>
问题: {{user.address}} 不适用于 AboutController。我看不到任何输出......但是当我从上面的代码中删除评论时......它只在控制器中显示硬编码值我错过了什么?
【问题讨论】:
标签: javascript jquery angularjs model-binding