AngularJS指令模板未更新

尽管有监视,模板指令也没有更新。.这里缺少什么?手表内的日志确实可以正常使用,为什么HTML也不更改?

college.directive('showTeacherInfo',function ($http) {
    return {
        restrict: 'E',transclude: true,scope: {
            'subject': '@subjectId'
        },template: '<div> {{ scope.teacher | json }} </div>',link: function (scope,element,attrs) {
            console.log('Retrieving teacher information ...');
            scope.teacher = {}; 

            var getTeacherInfo = function () {
                if (!isnaN(scope.subject)) {
                    $http(
                        {
                            method: 'GET',url: '/Subject/GetTeacherOfSubject',params: { id: scope.subject }
                        }).then(function successCallback(response) {
                            if (response.data) {
                                scope.teacher = response.data;
                            }
                        },function errorCallback(response) {
                            console.log(response);
                        });
                }
            };                
            attrs.$observe('subjectId',function () {
                getTeacherInfo();
            });
            scope.$watch('teacher',function () {
                console.log(scope.teacher);
            });
        }
    }
});

在html

<show-teacher-info subject-id="{{currentSubjectID}}"></show-teacher-info>
applesseed 回答:AngularJS指令模板未更新

错误

template: '<div> {{ scope.teacher | json }} </div>',

更好

template: '<div> {{ teacher | json }} </div>',

AngularJS表达式在作用域的上下文中求值。无需将其添加到HTML。

本文链接:https://www.f2er.com/2790728.html

大家都在问