2

使用 AngularJS,我想从<script type="text/ng-template".

<script type="text/ng-template" id="firstDialogId">
    <div class="ngdialog-message" align="center" id="download">
        <h4 ng-show=isFrench>Télécharger la cartographie</h4>
        <h4 ng-show=isEnglish>Download cartography</h4>
        <a href="../downloads/PDF/{{currentLanguage}}/{{currentCartography}}.pdf" download>
            <img  src="../style/images/pdf-icon.png" alt="Download PDF" width="30%" height="30%">
        </a>   
        <a href="../downloads/VSD/{{currentCartography}}.vsd" download>
            <img border="0" src="../style/images/vsd-icon.png" alt="Download VSD" width="30%" height="30%">
        </a>   
        <a href="../downloads/PNG/{{currentLanguage}}/{{currentCartography}}.png" download>
            <img border="0" src="../style/images/PNG-icon.png" alt="Download PNG" width="30%" height="30%">
        </a>   

         <div class="ngdialog-buttons">
             <button type="button" class="ngdialog-button ngdialog-button-primary" ng-click="closeThisDialog('button')">Close</button>
         </div>
    </div>
</script>

isFrench并且isEnglish是来自我的控制器的 2 个布尔值。

currentCartography和相同currentLanguage,它们是来自我的控制器的字符串。

我还尝试在控制器内部和外部使用 getter,结果相同。

4

3 回答 3

5

对于那些陷入同样问题的人:

使用 ngDialog,我们需要精确我们想要使用的范围。就我而言,我在控制器中添加了对话框打开功能,我需要编辑我正在使用的功能,以便添加scope: $scope,如下行:

$scope.openPlainCustomWidth = function () {
    $rootScope.theme = 'ngdialog-theme-plain custom-width';
    ngDialog.open({
        template: 'firstDialogId',
        controller: 'InsideCtrl',
        className: 'ngdialog-theme-plain custom-width',
        scope: $scope, // this line wasn't here before
        closeByDocument: false
    });
};
于 2015-04-08T15:00:19.840 回答
1

你可以尝试三件事

  1. 使用ng-href而不是href

  2. 对于 ng-show 删除双卷曲{{

  3. 如果以上两个不起作用,请使用 $parent(仅当您不使用控制器时)

于 2015-04-08T13:48:25.230 回答
0

您使用ng-show不正确,它不使用{{}}表达式。

尝试:ng-show="isFrench"

除此之外,不清楚你在问什么

于 2015-04-08T13:45:22.880 回答