将特定样式添加到控制器/模态

时间:2018-03-13 17:55:35

标签: css angularjs controller

我已经玩了一段时间,因为我玩角度,特别是旧版本(1.2),但我很确定这可以做到(希望我没错)。下面是我目前的代码,我只需要为css样式表添加一个属性,或者如果我可以在引号中包含我的css,我也不在乎。

  $scope.callxyz = function() {
        var modalInstance = $modal.open({
            templateUrl : 'views/xyz.html',
            scope       : $scope
          });
        $rootScope.creditCardModal = modalInstance;
  };

1 个答案:

答案 0 :(得分:0)

如果你想包含影响模态的CSS,它与你添加到你的应用程序的任何其他CSS没有任何不同:

<!-- include in your page -->
<link rel="stylesheet" type="text/css" href="mystyle.css">
<style>
  .modal { 
    /* your styles */ 
   }
</style>

您必须使用正确的选择器并了解您用于定位正确组件的模态库。

对于AngularJS中的任何组件,这都是相同的故事。没有添加CSS的特殊方法。

看起来您正在使用Angular UI Bootstrap的旧版本。它包含允许您修改模态最外层组件的模板。您可以通过检查这些模板来定位CSS中的类。

如果您只想将字符串传递给模态控制器,则可以使用resolves完成:

var modalInstance = $modal.open({
        templateUrl : 'views/xyz.html',
        scope       : $scope,
        resolve: {
          css: function () {
            return "some CSS as a string";
          }
        }
});

然后在控制器中将其作为注入依赖项访问:

angular.module('ui.bootstrap.demo')
.controller('ModalInstanceCtrl', function ($uibModalInstance, css) {
  console.log(css)  // "some CSS as a string"
});