【发布时间】:2020-08-16 16:28:36
【问题描述】:
看起来很简单但我无法修复它,我的控制器无法读取与 ng-view 中的输入框相关的 ng-model。这是我的代码
main.html
<html ng-app="myapp" ng-controller="main_controller">
<head>
<title>test</title>
</head>
<body>
<section ng-view>
</section>
<!--Jquery-->
<script src="../jquery/jquery.js" type="text/javascript"></script>
<script src="../angularjs/angular.js" type="text/javascript"></script>
<!--Angular js-->
<script src="../angularjs/angular-route.js" type="text/javascript"></script>
<script src="../app.js" type="text/javascript"></script>
</body>
</html>
view.html
<input type="text" ng-model="input_value">
<button ng-click="read_input()">print</button>
app.js
var app = angular.module('myapp', ['ngRoute'])
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'view.html',
})
})
app.controller('main_controller', function ($scope) {
angular.element(document).ready(function () {
//some Ajax request
})
$scope.read_input = function () {
console.log($scope.input_value)
}
})
当我在输入框中写任何东西并按下打印按钮时,它应该在控制台日志中打印数据,但它给了我未定义的信息。 我知道我没有在 routeProvider 的配置中提供控制器,但我在页面顶部包含了 ng-controller,这是因为我想为我的所有视图使用一个控制器,正如你看到的,当文档完整时我有 ajax 请求加载后,如果我在每次视图更改时为 routeProvider 中的每个页面提供相同的控制器,我的 ajax 将被调用,我不想要这个。有没有更好的解决方案?
【问题讨论】:
-
我从来没有像你这样使用过 Angular(使用
标签: javascript angularjs angularjs-ng-model ng-view