如何使用`ng-if`显示元素并动态更新应用程序外部的值?

时间:2015-07-09 08:22:30

标签: angularjs

我有一个通知面板。我只有在出现错误时才需要显示它。所以,我在我的控制器中设置了一个名为errors的属性:

.controller('mainController', function($scope, $mdToast, $templateCache, $animate, $timeout, $mdSidenav, $mdUtil, $log) {
    var mainCtrl = this;

    mainCtrl.errors = false;

所以在notifications元素中我可以像这样使用:

ng-if="mainCtrl.errors"

最初这是隐藏的。但在我们提交表单后(我使用Rails作为后端)Rails将发送一个javascript文件,它将运行。我需要更新error的值,并在该单独的js文件上动态添加元素。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

在你的控制器中 -

 .controller('mainController', function($scope, $mdToast, $templateCache, $animate, $timeout, $mdSidenav, $mdUtil, $log) {

$scope.errors = false;

在您看来 -

ng-if="mainCtrl.errors"

在你的js文件中 -

angular.element($0).scope().errors = true;

注意:确保js文件在页面的上下文中运行。