我需要从另一个".js"文件中调用外部".js"文件中的函数,而不引用标记中的外部文件<head>.
我知道可以动态添加一个外部".js"文件到允许访问该文件,我可以这样做......
var AppFile = "test/testApp_1.js";
var NewScript=document.createElement('script');
var headID = document.getElementsByTagName("head")[0];
NewScript.src = AppFile;
headID.appendChild(NewScript);
Run Code Online (Sandbox Code Playgroud)
然而...
这对我没用,因为外部文件需要是运行启动程序的独立文件...
$(document).ready(function()
{...}
Run Code Online (Sandbox Code Playgroud)
因此动态添加完整文件会产生不良影响.此外,我不能预先引用<head>标签中的外部文件,因为它需要是动态的.所以,这个外部文件"test/testApp_1.js"包含一个返回字符串变量的函数...
function setAppLogo(){
var LogoFile = "test/TestApp_1_Logo.png";
return LogoFile;
}
Run Code Online (Sandbox Code Playgroud)
我需要访问这个函数,或者我可以将字符串存储为外部文件中的全局变量...两种方式都可以,我只需要访问值LogoFile而不加载整个外部文件.
这个让我难倒了几个小时,所以任何想法都会非常感激.
我有这种情况,我需要访问多个指令控制器方法.
我可以使用require来从父指令访问方法,如下所示:
require:"^parentDirective"
Run Code Online (Sandbox Code Playgroud)
但是我还需要在单独的指令(不是父节点)中访问一个方法,文档说要使用像这样的字符串数组:
require:["^parentDirective","directiveTwo"]
Run Code Online (Sandbox Code Playgroud)
但这样做会导致错误,尽管两个指令都已编译到DOM.
我在这里错过了什么吗?
这是我的指示:
angular.module('testModule', ['parentModule'], function () {
}).directive('testDirective', function() {
return {
restrict: 'AE',
templateUrl: 'testTemplate.tpl.html',
scope: {
value1: "=",
value2: "="
},
require:['^parentDirective','otherDirective'],
controller: function($scope,$modal,socketConnection) {
if(case_x == true){
$scope.requiredController_1.ctrl1Func();
}
else if(case_x == false){
$scope.requiredController_2.ctrl2Func();
}
},
link: function(scope,element,attrs,requiredController_1,requiredController_2){
scope.requiredController_1 = requiredController_1;
scope.requiredController_2 = requiredController_2;
}
};
});
Run Code Online (Sandbox Code Playgroud) 我似乎在使用".mCustomScrollbar("scrollTo",divID)"函数滚动到元素时遇到问题.
我有一个包含很多div的div(id ="#wrapper")(每个20px高达800 div的高度).
然后我将mCustomScrollbar添加到此#wrapper div以使用其自定义滚动条功能,如下所示:
$("#wrapper").mCustomScrollbar();
Run Code Online (Sandbox Code Playgroud)
现在我有一个大的可滚动div包含div的"列表式"结构,而不是实际的列表,只是像列表一样堆叠在一起的div.
在我的页面的其他地方,我有一个按钮,其中包含"#wrapper"div中div元素的id,当我单击此按钮时我希望将div元素滚动到视图中,这是我当前的尝试:
var divID = 'div[id^=' + clickedID +']';
$('#wrapper').mCustomScrollbar("scrollTo",divID);
Run Code Online (Sandbox Code Playgroud)
这个函数声称在#wrapper div中将"divID"滚动到视图中然而它确实存在的问题是它在"divID"进入视图之前有时需要2-4次调用"scrollTo"函数.
有人可以帮助我理解为什么"divID"在第一次调用"scrollTo"函数时不会滚动到视图中,以及如何让它按照我的预期运行?
亲切的问候