从 ng-template 访问范围
Access scope from ng-template
使用 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,结果相同。
您使用的 ng-show
不正确,它没有使用 {{}}
表达式。
尝试:ng-show="isFrench"
除此之外不清楚你在问什么
您可以尝试三件事
使用ng-href
代替href
for ng-show remove double curly {{
如果以上两个不起作用,请使用 $parent(仅当您不使用 controller-as 时)
对于那些陷入同样问题的人:
使用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
});
};
使用 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,结果相同。
您使用的 ng-show
不正确,它没有使用 {{}}
表达式。
尝试:ng-show="isFrench"
除此之外不清楚你在问什么
您可以尝试三件事
使用
ng-href
代替href
for ng-show remove double curly
{{
如果以上两个不起作用,请使用 $parent(仅当您不使用 controller-as 时)
对于那些陷入同样问题的人:
使用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
});
};