我的角度SPA数据库不是自动更新的。希望你能告诉我原因。
-
这是我的JS文件:
var app = angular.module('SDMApp', ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider
.when('/para', {
templateUrl: 'view/ParaView.html',
controller: 'MainController'
});
});
app.controller('MainController', function($scope) {
$scope.CurrentlyShowing = "Hello";
});我的html文件:
<!DOCTYPE html>
<html ng-app="SDMApp">
<head lang="en">
<meta charset="UTF-8">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular-route.min.js"></script>
<script src="Angular.js"></script>
<title></title>
</head>
<body ng-controller="MainController">
<div ng-view></div>
<input ng-model='CurrentlyShowing'>
</body>
</html>我的模板是:
<p>{{ CurrentlyShowing }}</p>-
虽然它像最初应该显示的"Hello“一样,但当我在输入元素(正文中的html输入元素)中写入时,模板中的段落不会更新。下面是这个场景的柱塞:http://plnkr.co/edit/ALEDabL7lmKKgFmGzCce?p=preview。
当我用模板中的段落替换ng视图div并在输入元素中写入时,它会很好地更新。下面是这个场景的柱塞:http://plnkr.co/edit/TniFrGYBnNQLz8A3BfQ5?p=preview。
有人能告诉我怎么回事吗?
发布于 2015-03-13 11:55:03
您要两次指定控制器。
app.config(function ($routeProvider) {
$routeProvider
.when('/para', {
templateUrl: 'view/ParaView.html',
controller: 'MainController' //1st time
});
});第二次,在这里,<body ng-controller="MainController">从您的配置块中删除它,它将工作。
app.config(function ($routeProvider) {
$routeProvider
.when('/para', {
templateUrl: 'view/ParaView.html'
});
});如果要在路由中定义控制器,则需要在模板中包含控制器,否则它将不在控制器作用域中。
我建议这样做:http://plnkr.co/edit/QKA5aKSfe1Z3D8yO7Vkn?p=preview
https://stackoverflow.com/questions/29029865
复制相似问题