首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >angularjs自定义twitter引导模态指令

angularjs自定义twitter引导模态指令
EN

Stack Overflow用户
提问于 2015-06-14 15:50:58
回答 1查看 550关注 0票数 0

我正在尝试创建一个使用angularjs指令的自定义twitter引导模式弹出。我的问题是如何控制来自任何控制器的弹出窗口。

控制器指令是

代码语言:javascript
运行
复制
var modal = angular.module('directiveModal', ['ngRoute','ngAnimate']);



modal.directive('loginModal', function() {
  return {
    restrict: 'EA',
    templateUrl: 'directiveTemplate/modal.html',
    link: function(scope,elem,attr)
    {
        elem.bind("click",function()
        {
            console.log("Opening Modal");

        });

    }
  }
});

这就是我如何从init页面调用指令。

代码语言:javascript
运行
复制
var app = angular.module('myApp', ['ngRoute','ngAnimate','directiveModal']);


app.config(function($routeProvider) 
{

$routeProvider
.when("/",{
    templateUrl : "template/landing.html",
    controller : "landingCtrl"
})

.when("/home",{
    templateUrl : "template/home.html",
    controller : "homeCtrl"
})
.when("/post",{
    templateUrl : "template/post.html",
    controller : "postCtrl"
})


.otherwise(
{
redirectTo: '/'
});


});

如何控制html中的模式弹出,就像这样。

代码语言:javascript
运行
复制
<div login-modal></div>

我想根据我的需要定制这个模式。就像我想要控制显示什么文字一样。添加新元素,并在某些条件下调用此弹出/显示,控制器将满足这些条件。

EN

回答 1

Stack Overflow用户

发布于 2015-06-14 19:56:36

基本上,在您的指令中,您需要使用引导中的标准方法。类似于:

代码语言:javascript
运行
复制
link: function postLink(scope, element, attrs) {
    scope.title = attrs.title;

    scope.$watch(attrs.visible, function(value){
      if(value == true)
        $(element).modal('show');
      else
        $(element).modal('hide');
    });

    $(element).on('shown.bs.modal', function(){
      scope.$apply(function(){
        scope.$parent[attrs.visible] = true;
      });
    });

    $(element).on('hidden.bs.modal', function(){
      scope.$apply(function(){
        scope.$parent[attrs.visible] = false;
      });
    });

正如您在$watch函数中看到的那样,您有了引导方法。我复制解决方案的最初答案可以在这里获得:Simple Angular Directive for Bootstrap Modal

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30831404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档