recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - La modification dynamique du templateUrl de la directive ne prend effet que dans le contrôleur, pas dans la directive.

<content url="{{contentUrl}}"></<content>

//Le modèle de page peut être modifié en appelant changeContentUrl dans le contrôleur. Cependant, l'utilisation de l'url dans l'événement de clic homeAction ci-dessous ne prend pas effet

var home = angulaire.module("home", [ "common " ]);

    home.controller("homeCtrl", function($scope, commonFactory) {
    
        $scope.contentUrl = "template/userInfo";
        $scope.changeContentUrl = function(contentUrl) {
             console.log(contentUrl);
            $scope.contentUrl = "adada"; 
        };
    });
    home.directive("content", function() {
        return {
            restrict : "E",
            template : "<p ng-include='getContentUrl()'></p>",
            link : function($scope, $element, $attr) {
                $scope.getContentUrl = function() {
                    return $attr.url;
                };
            }
        };
    });
home.directive("homeAction",function(commonFactory){
        return function($scope,element,attrs){
                var node =  element.find("li");
                node.on("click",function(event){
                    var url = $(event.target).attr("url");
                    $scope.contentUrl=url;
                    console.log($scope.contentUrl);
                });
            
        };
    });
迷茫迷茫2783 Il y a quelques jours521

répondre à tous(1)je répondrai

  • 巴扎黑

    巴扎黑2017-05-15 17:08:15

    homeAction a un problème :

    home.directive("homeAction",function(commonFactory){
        return function($scope,element,attrs){
            var node =  element.find("li");
            node.on("click",function(event){
                var url = $(event.target).attr("url");
                $scope.contentUrl=url;
                console.log($scope.contentUrl);
            });
        };
    });

    function(commonFactory){ ne renvoie pas d'informations de configuration de directive et doit renvoyer JSON.

    répondre
    0
  • Annulerrépondre