【发布时间】:2016-01-12 04:43:25
【问题描述】:
我目前正在编写一个角度指令,该指令使用不同 HTML 文件中的模板和隔离模板。该指令通过 @ 获取一些字符串到其范围,并且该值在控制器函数中可用。 不知何故,它无法通过 HTML 模板中的 {{}} 获得。为什么呢?我该如何改变呢?我使用父范围阅读了一些关于模板的内容,但我并不完全理解。
这是一个代码示例:
angular.module('moduleName')
.directive('aGreatDirective', function () {
return {
restrict: 'E',
scope: {
mapid: '@'
},
templateUrl: "path/to/template.html",
controller: ['$scope', function (scope) {
console.log($scope.mapid); // is defined
}
}
});
以及模板的html代码:
<div id="{{mapid}}"></div>
浏览器中的结果与它应该在的地方完全一样:
<div id="theValueOfmapid"></div>
感谢您的帮助!
PS 这是一个 jsfiddle:fiddle
【问题讨论】:
-
可以加个jsfiddle吗?
-
我刚做了。 {{mapid}} 应该是输出中的 thisisthemapid,但它不是。控制台语句也很奇怪。在我的控制台中,我看到了 mapid 属性,但 $scope.mapid 未定义...
标签: angularjs angularjs-scope angular-directive