无法在用户操作时动态更改angularjs指令模板

时间:2014-01-23 19:47:40

标签: javascript angularjs angularjs-directive

我正在尝试使用动态模板制作AngularJS指令(我的第一个)。这个想法很简单,它将是一个日历,用户可以像outlook一样切换视图(或在此处插入您喜欢的日历)。

我一直在尝试各种编译,模板,控制器,链接,我可以找到。我显然遗漏了一些东西。

我正在使用一个属性来存储所需的时间段(因此默认情况下可以在标记中设置)。从指令外部的按钮调用函数以更新属性。该属性按预期更新,但我无法弄清楚如何让模板重新渲染。

plnkr提供。

http://plnkr.co/edit/oTE80hMc6DAP7fTmduvo?p=info

非常感谢任何帮助。

谢谢, 埃里克

1 个答案:

答案 0 :(得分:0)

这就是我想要做的事情:

Plunker demo

angular.module("ngCalendar", [])
    .directive("ngCalendar", function factory() {
        return {
            restrict: "AE",
            replace: true,
            link: function ($scope, element, $attrs) {

   element.html("<div>Please set period attribute.</div>");
   $scope.$watch('canlendarType',function(newValue, oldValue,scope){
       var t = 'sadf';
                switch (newValue) {
                    case 'month':
                        t ="<div>month</div>";
                        break;
                    case 'week':
                        t = "<div>week</div>";
                        break;
                    case 'day':
                        t = "<div>day</div>";
                        break;

        }
        element.html(t);
        });
   }
            }
    });