Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 设置一个';链接';使用angular ui router在模板渲染后运行的函数?_Jquery_Angularjs_Angular Ui Router - Fatal编程技术网

Jquery 设置一个';链接';使用angular ui router在模板渲染后运行的函数?

Jquery 设置一个';链接';使用angular ui router在模板渲染后运行的函数?,jquery,angularjs,angular-ui-router,Jquery,Angularjs,Angular Ui Router,我有一个角度设置,需要使用一些jQuery插件 了解到实现这一点的最佳方法是创建一个指令,并在将所有信息添加到指令后在“链接”阶段激活jQuery app.directive('directiveName', function() { return { restrict: 'A', link: function(scope, element, attrs) { //my jQuery } }; });

我有一个角度设置,需要使用一些jQuery插件

了解到实现这一点的最佳方法是创建一个指令,并在将所有信息添加到指令后在“链接”阶段激活jQuery

app.directive('directiveName', function() {
    return {
        restrict: 'A',
        link: function(scope, element, attrs) {
            //my jQuery
        }
    };
}); 

但是,我的代码与ui路由器的工作方式如下:

app.config(function($stateProvider, $locationProvider, $urlRouterProvider) {
    $stateProvider.state('view1', {
        url: '/view1/:param/',
        templateUrl: 'view1.html',
        controller: 'View1Ctrl'
    });
});


如何设置链接后要运行的函数?(即范围更改时)

好的,根据上面的对话,有两种解决方案可能会对您有所帮助

1指令/控制器中的一个简单的
$scope.$watch

scope.$watch('property.to.watch', function(newValue, oldValue){
  if (newValue) {
    yourFunction();
  }
});
2
$viewContentLoaded

您可以在指令/控制器中或在整个应用程序的运行块中执行此操作。我将演示后者

.run(['$rootScope', function($rootScope) {
  $rootScope.on('$viewContentLoaded', function(event) {
    yourFunction();
  });

希望对你有用编辑此外,请查看,您可能会发现它非常有用

在运行函数之前,是否有任何特定的作用域属性需要监视其更改?或者只是在链接功能执行之后?路由器不重要。。。链接将在元素实际存在时触发。如果有其他问题,则与此无关router@charlie那么我错过了什么?我需要在ui路由器在ui视图中呈现html之后运行一个函数。那么我该怎么做呢?@caleb我更喜欢在ui视图完全加载后运行post compilation函数。但是如果您有一个监视特定范围属性的解决方案,那么我很乐意看到它!这个插件做什么?谢谢Caleb,不过我尝试了两个选项,但都没有达到我的目的。。。我希望在视图完全呈现后运行回调,但是(“$viewContentLoaded”)上的
显然没有这样做,其他选项也没有这样做。:'(那么你的插件应该做什么?为什么需要等待它编译视图?编译视图后我需要运行jquery函数;)