簡體   English   中英

AngularJS:從自定義指令中調用自定義指令似乎不起作用

[英]AngularJS: Calling custom directives from within a custom directive doesn't seem to work

我在這里個小矮人可以說明這一點

我可以創建兩個指令。 在這種情況下,一個名為zMonthSelect,另一個名為zTest,它引用zMonthSelect。 如果它們嵌套,Angular似乎不喜歡。 這是為什么? 我該如何解決?

這是代碼:

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
});

app.directive('zMonthSelect', function () {
    return {
        restrict: 'E',
        priority: 1000,
        scope: {
            month: '=month'
        },
        template: '<select ng-model="month">' +
            '<option value="1">Jan</option>' +
            '<option value="2">Feb</option>' +
            '<option value="3">Mar</option>' +
            '<option value="4">Apr</option>' +
            '<option value="5">May</option>' +
            '<option value="6">Jun</option>' +
            '<option value="7">Jul</option>' +
            '<option value="8">Aug</option>' +
            '<option value="9">Sep</option>' +
            '<option value="10">Oct</option>' +
            '<option value="11">Nov</option>' +
            '<option value="12">Dec</option>' +
            '</select>',
        controller: function($scope) {
        }
    };
});


app.directive('zTest', function(){ 
  return { 
    restrict: 'E',
    priority: 1,
    scope: {},
    template: 'Test: <z-month-list month="1"></z-month-list>',
    controller: function($scope) {
    }
  };
});

和HTML:

<body ng-controller="MainCtrl">
  zTest: <z-test></z-test><br/>
  zMonthSelect: <z-month-select></z-month-select><br/>
</body>

您的指令名稱不匹配。 zTest指令中,您嘗試使用<z-month-list> ,但是您的指令名為zMonthSelect 只需將您的zTest指令更改為我們<z-month-select> 看到http://plnkr.co/edit/x2i8lv?p=preview

或者,您可以將內部指令重命名為zMonthList 看到http://plnkr.co/edit/aQlSqK?p=preview

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM