Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 将元素的Id属性设置为控制器中的变量_Angularjs_Angularjs Directive - Fatal编程技术网

Angularjs 将元素的Id属性设置为控制器中的变量

Angularjs 将元素的Id属性设置为控制器中的变量,angularjs,angularjs-directive,Angularjs,Angularjs Directive,更新#2: 有时使用模板:'效果很好,变量被输入到模板中,而其他时候它不起作用,ID被设置为ID=“{vm.divId}}”。我仍然没有弄清楚是什么让它有时起作用,而不是其他的 原职 我有一个简单的指令,它需要模板中的一个元素来动态设置ID。我想这很简单,但不管我做什么,变量都不会插值 我尝试过像这样设置ID,template:“像这样template:”和这两种方法的一些变体,但似乎都不起作用 以下是指令: .directive('gMap', function() { return

更新#2: 有时使用
模板:'
效果很好,变量被输入到模板中,而其他时候它不起作用,ID被设置为
ID=“{vm.divId}}”
。我仍然没有弄清楚是什么让它有时起作用,而不是其他的

原职 我有一个简单的指令,它需要模板中的一个元素来动态设置ID。我想这很简单,但不管我做什么,变量都不会插值

我尝试过像这样设置ID,
template:“
像这样
template:”
和这两种方法的一些变体,但似乎都不起作用

以下是指令:

.directive('gMap', function() {
    return {
        restrict: 'E',
        scope: {
            'options': '='
        },
        transclude: true,
        controllerAs: 'vm',
        bindToController: true,
        controller: function(mapService) {
            console.log(this.options.mapId); // This logs the specified ID
            this.divId = this.options.mapId;
        },
        template: '<div id="{{vm.divId}}"></div><div ng-transclude></div>'
    };
})
指令('gMap',函数(){ 返回{ 限制:'E', 范围:{ “选项”:“=” }, 是的, controllerAs:'vm', bindToController:对, 控制器:功能(映射服务){ console.log(this.options.mapId);//记录指定的ID this.divId=this.options.mapId; }, 模板:“” }; }) 更新:
我将我的代码剪切并粘贴到plunkr中,它在那里工作正常,因此它一定是本指令之外的其他内容,但我不知道从何处开始

您在元素中实际看到了什么?@Phil我看到了这个
您的控制台中没有错误?如果您已经确定问题的原因与问题中的代码无关,则不太可能得到答案。没有错误,但它现在可以工作。不知道为什么它以前不工作,或者是什么原因导致它开始工作,但我今天又试了一次,一切都很好。现在它又不工作了