我有一个javascript库,其中包含许多有用的功能,我可以在我的网站上使用它来执行各种操作.
我知道我无法通过ng-click访问这些函数,因为这些函数超出了范围.
有没有办法访问它们而不必声明只调用库中函数的作用域函数?
这是一个带示例的jsfiddle.我想知道是否有办法使第二个链接工作.这只是因为我不喜欢定义一个简单地调用另一个函数的函数的想法.例如
HTML:
<div ng-click="doSomething()">Click Me (Working)</div>
<div ng-click="doSomethingElse()">Click Me (Not Working)</div>
Run Code Online (Sandbox Code Playgroud)
控制器JS:
$scope.doSomething = function () {
doSomethingElse();
};
Run Code Online (Sandbox Code Playgroud)
外部库JS:
function doSomethingElse() {
alert("SomethingElse");
}
Run Code Online (Sandbox Code Playgroud)
<------- ------- UPDATE>
感谢您的创意回应!Vinay K的答案是最容易和最明显的,但我决定采用Ron E的答案.原因是我已经拥有一个带有可重用指令集合的全局模块,这将使我在HTML中实现更容易和更清晰.另外因为我有时会从库中使用多个函数,然后必须在onclick中链接它们:
onlick="func1(); func2(); func3();"
Run Code Online (Sandbox Code Playgroud)
指令只是更清洁,我可以在做其他事情时调用尽可能多的函数.
我正在dotNet Core 2.1中开发Angular 6应用程序。一切正常,直到我必须设置EFCore。我所有的模型都已定义并创建了上下文。运行dotnet ef migrations add InitialCreate给我“找不到指定的框架'Microsoft.NETCore.App',版本'2.1'”错误。
我搜索并阅读了所有发现的帖子,发现在各个版本的dotNet Core中都存在此错误。没有任何事情可以为我解决这个问题。
我安装了各种版本的dotNet Core App。查看“ C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App”,我具有以下内容:
-1.0.4
-1.0.5
-1.1.1
-1.1.2
-2.0.0
-2.0.3
-2.0.5
-2.0.6
-2.0.7
-2.0.9
-2.1.0
-2.1.4
-2.1 .5
-2.1.6
“ C:\ Program Files \ dotnet”显示为系统PATH变量中的第一个路径。
将我的解决方案中的所有项目降级到dotNet Core 2.0,运行该命令会导致完全相同的错误,这是指2.0版。
任何建议将不胜感激...
我的EF项目的csproj文件如下:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.4" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\*********.Contracts\*********.Contracts.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="System">
<HintPath>System</HintPath>
</Reference>
<Reference Include="System.Data">
<HintPath>System.Data</HintPath>
</Reference>
<Reference Include="System.Xml">
<HintPath>System.Xml</HintPath>
</Reference>
</ItemGroup> …Run Code Online (Sandbox Code Playgroud)