类型错误:i.match 不是函数 [英] TypeError: i.match is not a function

查看:49
本文介绍了类型错误:i.match 不是函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在研究 drupal angularjs 模块.我已经安装了 bootstrap ui,它工作正常.但是当我使用模态框时它不起作用.

控制器内部的代码:

 $scope.alertOnEventClick = function( event, allDay, jsEvent, view ){$scope.alertMessage = (event.title + '被点击');控制台日志($modal);var modalInstance = $modal.open({//templateUrl: Drupal.settings.angularjsApp.basePath + '/ng_node/calender/popup',模板:<div class='modal-header'><h3 class='modal-title'>我是一个模态!</h3>"+"</div><div class='modal-body'><ul><li>jfksdfhjksd</li><li>jfksdfhjksd</li><li>jfksdfhjksd</li>;/ul>

"+"<div class='modal-footer'><button class='btn btn-primary'>OK</button>"+"<button class='btn btn-warning'>取消</button></div>",控制器:ModalInstanceCtrl,范围:$范围});函数 ModalInstanceCtrl($scope, $modalInstance) {console.log("调用的控制器类")};

我仍然面临 bootstrap ui 弹出模型的问题.

解决方案

我之前也遇到过这个问题.通过进一步调查,我可以理解,根据 angular 准则,隔离范围只能具有自定义指令的属性.如果我们尝试创建与任何属性都不匹配的新范围值,则会引发错误.

myModule.directive('directiveName', function factory() {返回 {...范围: {'attrName': '@',//好的'attrName2': '=localName',//OK'attrName3': '<?localName',//OK'attrName4': ' = name',//OK'attrName5': 'name',//错误:缺少模式 @&='attrName6': 'name=',//错误:必须以@&= 为前缀'attrName7': '=name?',//错误:?必须直接在模式之后}...}});

I have been working on a drupal angularjs module. I have installed bootstrap ui, which is working fine. But when I use modal box it does not work.

The code inside the controller:

    $scope.alertOnEventClick = function( event, allDay, jsEvent, view ){
    $scope.alertMessage = (event.title + ' was clicked ');
    console.log($modal);

    var modalInstance = $modal.open({
        //templateUrl: Drupal.settings.angularjsApp.basePath + '/ng_node/calender/popup',
        template: "<div class='modal-header'><h3 class='modal-title'>I'm a modal!</h3>" +
            "</div><div class='modal-body'><ul><li>jfksdfhjksd</li><li>jfksdfhjksd</li><li>jfksdfhjksd</li></ul></div>"+
            "<div class='modal-footer'><button class='btn btn-primary'>OK</button>" +
            "<button class='btn btn-warning'>Cancel</button></div>",
        controller: ModalInstanceCtrl,
        scope: $scope
    });



    function ModalInstanceCtrl($scope, $modalInstance) {
     console.log("controller class called")
     };

I am still facing issues with bootstrap ui popup model.

解决方案

I too faced this problem earlier. With further investigation I could understand that as per angular guidelines, the isolated scope can only have the attributes of the custom directives. It throws error if we try to create a new scope value which doesn't matches with any of the attribute.

myModule.directive('directiveName', function factory() {
  return {
    ...
    scope: {
      'attrName': '@', // OK
      'attrName2': '=localName', // OK
      'attrName3': '<?localName', // OK
      'attrName4': ' = name', // OK
      'attrName5': 'name',    // ERROR: missing mode @&=
      'attrName6': 'name=',   // ERROR: must be prefixed with @&=
      'attrName7': '=name?',  // ERROR: ? must come directly after the mode
    }
    ...
  }
});

这篇关于类型错误:i.match 不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆