我在获取局部的div的ng-click
属性以启动我想要的称为testDivClicked()
的函数时遇到麻烦。
在我的应用程序控制器中,我提供了一个通往test
部分的路由:
(function () {
"use strict";
angular
.module('myApp', ['ngRoute', 'ui.bootstrap', 'myApp.main', 'myApp.test'])
.config(config);
config.$inject = ['$routeProvider'];
function config($routeProvider) {
$routeProvider
.when('/', {templateUrl: '/partials/main.html', controller: 'MainController', controllerAs: 'vm'})
.when('/test', {templateUrl: '/partials/test/test.html', controller: 'TestController', controllerAs: 'vm'})
.otherwise({redirectTo: '/'});
}
})();
这是插入到父视图中的
test.html
部分:<div class="outer-holder test-outer-holder">
<div class="middle-holder test-middle-holder">
<div class="inner-holder test-inner-holder">
<div class="test-container" ng-click="vm.testDivClicked('test-container')">
<legend>Test</legend>
</div>
</div>
</div>
</div>
我的
test
控制器:(function () {
"use strict";
angular
.module("myApp.test")
.controller("TestController", TestController);
TestController.$inject = [];
function TestController() {
var vm = this;
function testDivClicked(msg) {
console.log("message:", msg);
}
}
})();
当我单击最里面的
div
时,我希望testDivClicked()
记录我单击的内容。我在此设置中缺少什么,可以让我使用
ng-click
进行工作? 最佳答案
您应该写vm.testDivClicked = function(msg)
而不是function testDivClicked
。您声明了局部函数。