Javascript AngularJs中的函数问题
我是一个角度的初学者,我对函数有问题。我有一个简单的代码。在这种情况下,有两个警报要探测它们没有被调用 HTMLJavascript AngularJs中的函数问题,javascript,angularjs,angularjs-controller,angularjs-module,Javascript,Angularjs,Angularjs Controller,Angularjs Module,我是一个角度的初学者,我对函数有问题。我有一个简单的代码。在这种情况下,有两个警报要探测它们没有被调用 HTML <div data-ng-controller="MainCtrl"> <form novalidate class="simple-form"> Last name: <input type="text" name="lname" data-ng-model="product.name"><br>
<div data-ng-controller="MainCtrl">
<form novalidate class="simple-form">
Last name:
<input type="text" name="lname" data-ng-model="product.name"><br>
<input type="submit" value="Submit" class="btn btn-sm btn-primary" data-ng-click="mandar()" >
</form>
<button ng-click="mandar()">Remove</button>
</div>
我还有app.js
angular
.module('pdbApp', ['ngRoute'])
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.when('/about', {
templateUrl: 'views/about.html',
controller: 'AboutCtrl'
})
.otherwise({
redirectTo: '/'
});
});
还有我的index.html
<html class="no-js">
<head>
<meta charset="utf-8">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="styles/main.css">
<!-- endbuild -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<!-- endbuild -->
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.2/angular.js"></script>
</head>
<body ng-app="pdbApp">
<div class="container">
<div data-ng-view=""></div>
</div>
<!-- Libraries -->
<script src="js/angular.min.js"></script>
<script src="js/ui-bootstrap-tpls-0.11.2.min.js"></script>
<script src="js/angular-route.min.js"></script>
<script src="js/angular-animate.min.js"></script>
<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/bootstrap-sass-official/assets/javascripts/bootstrap.js"></script>
<script src="bower_components/angular-animate/angular-animate.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.js"></script>
<script src="bower_components/angular-resource/angular-resource.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
<script src="bower_components/angular-touch/angular-touch.js"></script>
<!-- endbower -->
<!-- endbuild -->
<!-- build:js({.tmp,app}) scripts/scripts.js -->
<script src="scripts/app.js"></script>
<script src="scripts/controllers/main.js"></script>
<script src="scripts/controllers/about.js"></script>
<!-- endbuild -->
<!-- Some Bootstrap Helper Libraries -->
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/underscore.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="js/ie10-viewport-bug-workaround.js"></script>
当我按下mandar按钮时,什么也没发生。
有人能告诉我为什么它不工作吗?似乎你在页面上添加了
ng app=“pdbApp”
,告诉angular在页面上运行。还要确保您已经在页面上添加了angular.js
文件
标记
<div ng-app="pdbApp" data-ng-controller="MainCtrl">
<form novalidate class="simple-form">
Last name: <input type="text" name="lname" data-ng-model="product.name"><br>
<input type="submit" value="Submit" class="btn btn-sm btn-primary" data-ng-click="mandar()" >
</form>
</div>
姓氏:
没有任何堆栈跟踪,我们所能做的就是推测。但正如其他人所说,您需要在模板中包含ng app
,以便angular知道该应用程序的HTML范围。您还需要ng controller
,以便angular知道HTML中控制器的范围
然而,这些都是所有教程中涵盖的基本内容,大多数教程中都没有涉及到的是应用程序定义。如果不是故意的,这将导致你的应用程序失败
你的所作所为
var-app=angular.module('pdbApp')代码>
这告诉angular“找到一个名为pdbApp
”的现有应用程序”。然而,这是你的第一个应用程序,你需要告诉angular创建它
您可以通过添加一个数组来实现这一点:
var-app=angular.module('pdbApp',[])代码>
该数组包含应用程序依赖项列表(如果有)。您的控制台中是否有任何错误?这是您的第一个模块声明吗?您的ng应用程序在哪里声明?您能解释什么不起作用吗?@Lzarra它对您有帮助吗:?
<div ng-app="pdbApp" data-ng-controller="MainCtrl">
<form novalidate class="simple-form">
Last name: <input type="text" name="lname" data-ng-model="product.name"><br>
<input type="submit" value="Submit" class="btn btn-sm btn-primary" data-ng-click="mandar()" >
</form>
</div>