我的 BlogController 中有一个函数可以改变 div 的高度。
$scope.setTopBackgroundHeight = function (screenProportion, targetDiv) {
globalService.setTopBackgroundHeight(screenProportion, targetDiv);
};
我在几个页面上使用这个 Controller ,但只想在一个页面上调用这个函数。所以我将调用放在我的 View 中,如下所示。
<div id="primary"
class="content-area blog-page"
ng-controller="blogCtrl">
{{$scope.setTopBackgroundHeight("half", ".background-container");}}
</div>
现在,这可行了。但是从 View 中的大括号内调用函数可以明智地进行风格吗?我试图找到以 Angular 方式做这样的事情的例子,但看不到任何东西。它应该在某个 ng 指令中吗?
最佳答案
是的,所有 DOM 操作都应该在指令内完成。因此,在这种情况下,最好将指令附加到调用该服务方法的 div 上。
HTML:
<div id="primary"
class="content-area blog-page"
ng-controller="blogCtrl"
setBGHeight>
</div>
JS:
app.directive('setBGHeight', function(globalService) {
return {
link: function() {
globalService.setTopBackgroundHeight("half", ".background-container");
}
}
));
关于javascript - 从 AngularJS 中的 View 调用 Controller 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26951152/