我使用NodeJS,Express和AngularJS创建一个项目,该项目将包含一个搜索表单(通过自定义指令添加)和一个必须在按下搜索按钮后才能加载的搜索结果。
问题是我在控制器中创建的方法无法从搜索表单中找到。 以下是我的代码示例:
app.js
(function() {
var app = angular.module('app', ['app-directives']);
app.controller('AppController', function() {
this.buttonClick = function() {
alert('Test');
};
});
})();
directives.js
(function(){
var app = angular.module('app-directives', []);
app.directive('searchForm', function() {
return {
retrict: 'E',
templateUrl: '/partials/search-form.html'
};
});
app.directive('searchResults', function() {
return {
retrict: 'E',
templateUrl: '/partials/search-results.html'
};
});
})();
搜索form.html
<input type="text" id="query" />
<button onclick="buttonClick">Search</button>
页面content.html
<section id="mainContent">
<search-form></search-form>
<search-results></search-results>
</section>
更新
第二个问题将在另一个帖子中发布。
答案 0 :(得分:0)
关于你的第一个问题:
您正在使用onclick属性而不是角度&#39; ng-click&#39;在按钮搜索中。这可能是问题所在。并且不要忘记添加&#39; ng-app&#39;和&#39; ng-controller&#39;标签。如果没有,您的方法将永远不可见。
我还建议你使用$ scope服务而不是&#39;这个&#39;用于附加模型和功能,稍后您将在视图中使用。
此致