相对于 .js 文件的 Angular 指令 templateUrl

2024-02-13

我正在构建一个角度指令,它将在几个不同的位置使用。 我不能总是保证使用该指令的应用程序的文件结构,但我可以强制用户将directive.js and directive.html(不是真实的文件名)在同一文件夹中。

当页面评估时directive.js,它认为templateUrl与自身相关。是否可以设置templateUrl是相对于directive.js file?

或者建议仅将模板包含在指令本身中。

我想我可能想根据不同的情况加载不同的模板,所以更愿意能够使用相对路径而不是更新directive.js


当前执行的脚本文件将始终是脚本数组中的最后一个,因此您可以轻松找到其路径:

// directive.js

var scripts = document.getElementsByTagName("script")
var currentScriptPath = scripts[scripts.length-1].src;

angular.module('app', [])
    .directive('test', function () {
        return {
            templateUrl: currentScriptPath.replace('directive.js', 'directive.html')
        };
    });

如果您不确定脚本名称是什么(例如,如果您将多个脚本打包到一个脚本中),请使用以下命令:

return {
    templateUrl: currentScriptPath.substring(0, currentScriptPath.lastIndexOf('/') + 1) 
        + 'directive.html'
};

Note:在使用闭包的情况下,您的代码应该位于外部,以确保在正确的时间评估 currentScript,例如:

// directive.js

(function(currentScriptPath){
    angular.module('app', [])
        .directive('test', function () {
            return {
                templateUrl: currentScriptPath.replace('directive.js', 'directive.html')
        };
    });
})(
    (function () {
        var scripts = document.getElementsByTagName("script");
        var currentScriptPath = scripts[scripts.length - 1].src;
        return currentScriptPath;
    })()
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

相对于 .js 文件的 Angular 指令 templateUrl 的相关文章

  • 为什么 Promise `.then` 方法的回调是反模式

    我在 StackOverflow 上看到了答案 人们建议为 AngularJS 服务提供回调函数 app controller tokenCtrl function scope tokenService tokenService getTo
  • querySelector 搜索直接子级[重复]

    这个问题在这里已经有答案了 我有一些类似 jquery 的函数 function elem return gt someselector elem 问题是我怎样才能做同样的事情querySelector 问题是 gt 选择器中querySe
  • 如何正确地将节点从引用传递到上下文?

    我正在尝试将节点从引用传递到上下文 但是因为我在第一次渲染后没有重新渲染 所以传递的节 点是null 我考虑了两种变体 但我认为它们不是最好的 To pass ref代替ref current 但在用例中 我将被迫使用类似的东西contex
  • ASP.NET 验证控件和 Javascript 确认框

    我有一个使用 NET 服务器端输入验证控件的页面 此页面还有一个 javascript 确认框 在提交表单时会触发该确认框 当前 当选择 提交 按钮时 会出现 javascript 确认框 一旦确认 就会触发 ASP NET 服务器端验证控
  • 在动态创建的元素的onclick函数的属性中传递一个字符串

    我试图在动态创建的锚元素的 onClick 事件处理函数的参数中传递一个字符串 请参阅小提琴http jsfiddle net shmdhussain bXYe4 http jsfiddle net shmdhussain bXYe4 我无
  • 修复 Raphaël 路径节点上 Tipsy 工具提示的位置

    这是一个非常具体且有些复杂的问题 所以我设置了一个最小测试用例 http reveal dk 8080 revealit dk tipsytest 在阅读本文的其余部分之前 您可能应该先了解一下 我的页面显示悬停时突出显示区域的图像Raph
  • 为什么Promise中的代码会同步执行? [复制]

    这个问题在这里已经有答案了 在我的项目中 我有一个很长时间运行的操作 所以我决定将其放入Promise因为我认为这样我就可以在里面的代码继续执行其他操作Promise正在跑步 调试的时候发现外面的代码Promise仅当里面的代码执行Prom
  • 为某个时刻添加持续时间 (moment.js)

    时刻版本 2 0 0 阅读文档后 http momentjs com docs manipulating add 我认为这很简单 Chrome 控制台 var timestring1 2013 05 09T00 00 00Z var tim
  • WebStorm 修改 URL

    我们使用两个 IDE 来开发 Angular js 应用程序 Brackets v1 7 WebStorm v2016 2 通过 Brackets IDE 打开应用程序时 URL 将按预期显示 http 127 0 0 1 55738 in
  • NodeJS - 将相对路径转换为绝对路径

    In my 文件系统我的工作目录在这里 C temp a b c d 在 b bb 下有文件 tmp txt C temp a b bb tmp txt 如果我想从工作目录转到该文件 我将使用以下路径 bb tmp txt 如果该文件不存在
  • 如何将React JS状态保存到本地存储中

    我不知道如何将 React js 状态存储到本地存储中 import React Component from react import App css import auth createUserProfileDocument from
  • 是否有跨浏览器的方式在Javascript中设置style.float?

    通常 如果您需要在 JavaScript 中设置样式属性 您可以这样说 element style attribute value 虽然略有不同 但属性名称通常与 HTML 属性名称类似 尽管是驼峰式 对我来说问题是 float 属性不起作
  • 等待异步 grunt 任务完成

    我收到了 grunt 设置 其中一个新任务应该执行 grunt task run 已经存在的任务 要执行的任务是异步的 新任务应该等待异步任务完成 执行此操作的首选方法是什么 grunt 已经涵盖了这一点 你应该将你的任务声明为异步任务 并
  • iPhone 上的锁定方向 UIWebView

    有没有办法锁定 UIWebView 的方向 使用 Obj C JS 还是 Html 我不想有按钮或任何东西 我只想在应用程序打开时将其锁定为纵向 好像这个堆栈溢出帖子 https stackoverflow com questions 43
  • 将默认搜索文本添加到搜索框 html

    我正在努力将 搜索 文本添加到搜索框 我正在努力实现 onfocus 消失文本 And onblur 重新出现文本 到目前为止 我已经实现了这一点 但我必须将其硬编码为 html eg
  • JavaScript setTimeout 和更改系统时间会导致问题

    我注意到如果我设置setTimeout未来1分钟 然后将我的系统时间更改为过去5分钟 setTimeout功能将在 6 分钟后触发 我这样做是因为我想看看夏令时系统时钟更改期间会发生什么 我的 JavaScript 网页使用setTimeo
  • Firebase 身份验证和实时应用程序数据库如何保护自身安全?

    从一般开发的角度来看 我很好奇如何保护在线资源的访问 我们使用以下 Firebase 配置参数初始化 Web 应用程序 apikey authdomain projectid databaseurl messagesenderid 服务器如
  • 节点未找到全局模块

    所以我意识到这是一个相当通用的标题和问题 但我已经搜索了很多答案 但遗憾的是它们似乎都不适合我 我希望通过我自己提供更多信息 也许有人有一个具体的答案 或者确切地知道将我重定向到哪个答案 我的问题 当我全局安装节点模块时 例如npm ins
  • 加载 Angular 库时,IE9 和 IE10 中出现 Angular JS“SCRIPT5007:预期对象”错误

    我正在开发一个 AngularJS 应用程序 该应用程序应在 Firefox IE 9 和 IE 10 上运行 我使用最新版本的 angularjs 库 现在是 1 3 15 服务器端是在JavaEE平台上用Java编写的 服务器运行在Gl
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您

随机推荐

  • 如何通过 Spring 发送电子邮件

    在我的 JavaFx 项目中 我像这样注入控制器 效果很好 Configuration public class AppFactory Bean public HomeController homeController throws IOE
  • 从数据库恢复 TeamCity 项目

    是否可以从现有数据库恢复 TeamCity 项目设置 我为 TeamCity 数据层和应用程序层设置了单独的服务器 TeamCity 应用程序服务器已损坏 我正在尝试从现有数据层恢复它 我正在使用 TeamCity 5 1 2 有任何想法吗
  • javascript中一串一位数字的总和?

    我正在尝试编写一个脚本 添加字符串的左侧并根据右侧对其进行验证 例如 var left 12345 var right 34567 我需要执行某种求和函数 将 1 2 3 4 5 加起来 并检查它是否等于 3 4 5 6 7 我只是不知道该
  • MultipartEntityBuilder 将图片发送到 Rail 服务器

    我正在尝试发送MultipartEntityBuilder 到我的 Rails 服务器 但是 当我尝试构建它时 它崩溃并给出错误 03 25 09 44 50 001 W System err java util concurrent Ex
  • TWRequest 是否适用于 Twitter 流 API?

    我正在尝试制作一个基本的 iPhone 应用程序来显示附近的推文 我使用 TWRequest 对象通过 twitter 搜索 API 来完成此任务 不幸的是 我实际上想使用 GPS 坐标在地图上标记推文 而搜索 api 似乎不会以比城市名称
  • 错误:android studio 中的任务“:app:dexDebug”执行失败

    我面临未知类型的错误 错误 任务 app dexDebug 执行失败 com android ide common process ProcessException org gradle process internal ExecExcep
  • jQuery 函数

    像这样编写 jQuery 函数有什么用 function myFunction 我的意思是为什么将函数包装在 中 我认为你的意思是这样的 function 这是以下内容的简写 document ready function 它的作用是注册一
  • 如何使“.innerText”忽略不可见元素的不可见子元素?

    测试代码结果如下 div 0 innerText aaaaa zzzzz div 1 innerText aaaaa invisible zzzzz 我怎样才能强迫innerText给出相同的结果div 1 因为它给出了div 0 我尝试附
  • 如何在 Ember CLI 应用程序中升级 Ember 版本?

    假设我上周创建了这个 Ember 应用程序 ember new shop cd shop ember install addon ember cli scaffold ember g scaffold product name string
  • 将三个整数编码为单个整数

    我必须将 3 个数字编码为同一个整数 我有这 3 个测量值 uint256 carLength uint256 carWidth uint256 carDepth 我想将这 3 个数字编码为同一个整数 并且可以解码 我的问题是我在这么低的水
  • 使用 .NET 4.0、3.5 时,UnmanagedFunctionPointer 会导致堆栈溢出

    我在点击处理程序中有一个简单的函数 它有一个 try catch 块 如果我在此 try catch 块中抛出异常 它会成功捕获异常 如果我在抛出异常之前调用非托管 DLL 则异常不会被处理且不会被捕获 未修改的 DLL 调用正在做什么 可
  • 使用 Django Rest Framework 的 ListSerializer 批量创建

    我尝试使用 Django Rest Framework 为某个表批量创建行 我看到在文档 http www django rest framework org api guide serializers customizing multip
  • git lfs“对象”占用大量磁盘空间

    我有一个包含很多二进制文件 主要是 pdf 的项目 我正在使用 git lfs 该项目大约有 60mb 但我发现我的 git lfs objectsdirector 大约有 500mb 我认为这些是以前提交的缓存版本 有没有办法优雅地删除这
  • Visual Studio 2013 IntelliSense 停止为 ASP.NET MVC5 控制器工作

    我在 Visual Studio 2013 ASP NET MVC 5 项目中面临一个奇怪的问题 突然间 MVC 5 项目的 Controller 类中的 IntelliSense 根本不起作用 我的解决方案中有其他类库项目 并且 Inte
  • 命名与通配符导入为何/如何影响参数?

    所以 我正在修改一些基本的 python tkinter 程序 并将我正在阅读的书中的 python 2 x 代码翻译为 3 x 以确保我理解所有内容 我还尝试使用 正确的 命名导入而不是通配符导入来编写代码 即from tkinter i
  • defiant.js 节点中带有空格的 XPath 表达式

    我在用反抗者 js http www defiantjs com 用于搜索 json 根据他们的文档 我需要提供 xpath 来从 json 中搜索特定元素 当节点中没有空格时我成功了 但我的 json 现在包含空格 这是我的 csv 我想
  • F# Seq 的一个实现问题

    我最近正在深入研究 F 源代码 在 Seq fs 中 Binding We use a type defintion to apply a local dynamic optimization We automatically right
  • 如何使用rails format.json [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 OSX 下卸载 Eclipse?

    我在 Mac OS X 10 5 6 上运行 Eclipse SDK 3 4 0 每次我尝试通过 软件更新 安装新内容时 都会显示消息 您选择的软件项目可能对当前安装无效 所以我要卸载它并重新安装 Eclipse 我应该删除 Eclipse
  • 相对于 .js 文件的 Angular 指令 templateUrl

    我正在构建一个角度指令 它将在几个不同的位置使用 我不能总是保证使用该指令的应用程序的文件结构 但我可以强制用户将directive js and directive html 不是真实的文件名 在同一文件夹中 当页面评估时directiv