我检查了类似的答案并尝试修改有效的 Plunkers,但是在我的项目中做类似的事情失败了(可能是由于他们使用 AngularJS 1.1.0 的示例)。
我已经阅读了教程https://docs.angularjs.org/tutorial,但对 AngularJS 来说还是很陌生。
对于我的项目,我使用的是 AngularJS 1.3.9 版和以下模块:
- 资源
- 路由
我在使用 ng-click 时遇到问题。
这是我的路由设置:
app.config([
"$routeProvider",
function($routeProvider){
$routeProvider.
when("/calendar",{
templateUrl:"templates/test.php",
controller: 'TestController',
}).
...
}
]);
我的test.php:
<button data-ng-click="test2()">Thing</button>
{{test}}
这是我的控制器:
var appControllers = angular.module('appControllers', []);
appControllers.controller("TestController",
["$scope",
function($scope){
$scope.test = "Hello";
$scope.test2 = function(){
alert("okay");
};
}
]);
当我加载页面时,“你好”出现,但按下按钮什么也不做(控制台中没有错误,它不在表单内)。
我已经看到了一些使用 data-ng-click 的示例,但这也不起作用。Angular 文档中的以下示例确实有效,因此我认为我的问题可能是范围问题:
<button ng-click="count = count + 1" ng-init="count=0">
Increment
</button>
count: {{ count }}
谁能确认并指出我正确的方向?
提前致谢。
更新:
没有关于注入的任何控制台错误,并且路由工作正常,但我应该包含我的 app.js 以确保完整性(文件还包含我的路由设置,暂时但不是什么大问题):
(function(){
var app = angular.module(
// Name of app, linked to ng-app
'testApp',
// Dependencies
[
'ngRoute', // Use the routing service
'ngResource',
]
);
//The routing part goes here
})();