更新范围变更指令

时间:2015-04-08 10:55:45

标签: angularjs angularjs-directive angularjs-scope

我正在更新控制器中的$scope变量

socket.on('data', function(data){
 //do some processing;
 //loop through $scope object;
 //update $scope.abc.xyz object
});

在指令中我注意对此对象的更改。这是指令

中的一个秘密
app.module('some.mod', [])
.directive('custom',['$compile', '$http', '$templateCache', 'someService', function($compile, $http, $templateCache, someService){
var getTemplate = function(a, b, c){
// Some Logic 
// Determine Template URL
templateLoader = $http.get(templateUrl, {cache: $templateCache});
return templateLoader;

}
var linker = function(scope, element, attrs, ctrl, transclude){
    ** Some more logic and black magic **

    loader = getTemplate(a,b,c);

    loader.success(function(html) {
            element.html(html);
        }).then(function (response) {
            element.replaceWith($compile(element.html())(scope));
        });
    scope.$watch('_b', function(){
      console.log("Changed");
     // How do I reload the template/directive
    },true);

};

return {
        restrict: 'E',
                    transclude: true,
        scope : {
            _a : '=abc',
            _b : '=def',
            _c : '=xyz'
        },
        link: linker
    };

}]);

我确实在数据发生变化时看到了console.log,但是找不到在模板/指令中反映这些变化的方法

0 个答案:

没有答案