小编Ara*_*oft的帖子

嵌入作用域是否可以访问指令作用域

继续关于 Angularjs 的困惑中的讨论 嵌入并隔离范围和绑定

<controller>

  <directive>

     transcluded html

  </directive>

</controller>
Run Code Online (Sandbox Code Playgroud)

通过应用程序中的上述一般结构,链接讨论中暗示嵌入作用域基本上是从父作用域(控制器)继承的,并且嵌入作用域无法访问指令作用域。解释这一点的文章是http://angular-tips.com/blog/2014/03/transclusion-and-scopes/

我的问题是 - 嵌入范围是否可以访问指令范围?

根据上面的文章,如果我们在指令的链接函数中使用 transinclude 函数并将代码编写为:

transclude(scope, function(clone, scope) {
    element.append(clone);
  });
Run Code Online (Sandbox Code Playgroud)

这真的有效吗?我在我的应用程序上尝试了同样的操作,但它不起作用。这是我一直在使用的代码。

指令定义:

(function(){
    'use strict';

    angular.module('checkoutApp')
        .directive('wizardCard', ['shipToService','deliveryService','billingService', wizardCardDirective]);


    function wizardCardDirective(shipToService,deliveryService,billingService){
        return {
            restrict : 'E',
            scope : {
               current : '@',
               checkoutStates: '='
            },
            transclude:true,
            templateUrl: '/UsabilitySites/Cart/Checkout/app/components/shared/wizard-card.html',
            link: function(scope, element, attrs,ctrl,transclude){


                scope.bla == "ajcnasc";

                transclude(scope, function(clone, scope) {
                    element.append(clone);
              });


            }

        };
    }

})();
Run Code Online (Sandbox Code Playgroud)

向导卡.html -

<div class="wizardContainer">
   {{bla}}
</div>
Run Code Online (Sandbox Code Playgroud)

打开 html 时,范围变量范围为空。有人能告诉我为什么会发生这种情况吗?

上述问题已解决,并更新了新问题:

现在我尝试使用多槽嵌入来执行此操作,但它不起作用。 …

angularjs transclusion angularjs-directive angularjs-ng-transclude

5
推荐指数
1
解决办法
4041
查看次数

使用 Chrome 开发者工具查找重定向的根本原因

我正在尝试使用 chrome 开发人员工具调试网页,并且页面在加载后重定向到 pdf 文件。我检查了 JavaScript 文件,没有任何地方可以重定向页面。我在开发者工具控制台或网络选项卡中找不到任何相关消息。

我激活event Listener Breakpoints->beforeunload但它停在与重定向无关的外部 js 文件(Placeholders.js)处。

此外,在网络选项卡中保留日志并不能帮助我找到重定向的根本原因。

我想知道如何找到此重定向的来源?


更新:html 代码中没有任何“刷新”元标记。

browser redirect developer-tools google-chrome-devtools

5
推荐指数
1
解决办法
6400
查看次数

如何为没有表单的输入元素禁用HTML5验证工具提示

如果我input<form>元素中包含,则只需将novalidate属性添加到表单即可禁用HTML5验证工具提示。但是,我的输入不是表单元素(我正在使用angularJS,并且使用了ng-form指令)。

我可以听无效事件并阻止提交验证,但是我不能阻止验证工具提示。

这是一个简单的JsFiddle来显示问题。

html5 html-validation angularjs

4
推荐指数
2
解决办法
7469
查看次数

如何快速将 JavaScript localStorage 填充到最大容量?

我有一个经常使用localStorage的应用程序。有时我会达到 localStorage 的最大容量,然后我会捕获异常并清理一些旧数据。

try {
   localStorage.setItem(myKey, myData);
}catch(error){
   // empty some old data in localStorage and re-insert myKey and myData
}
Run Code Online (Sandbox Code Playgroud)

一切都很好,只是我无法轻松测试。我正在寻找一种方法将我的 localStorage 快速填充到其最大容量,以便我可以在不同的条件和浏览器中测试代码。

javascript browser local-storage

3
推荐指数
1
解决办法
1590
查看次数

代码如何在同步的单核CPU上异步?

单处理器 (UP) 系统中中,只有一个 CPU 核心,因此一次只能执行一个线程。该执行线程是同步的(它获取队列中的指令列表并逐条运行它们)。当我们编写代码时,它会编译为 CPU 指令集。

我们怎样才能在 UP 机器上的软件中实现异步行为? 难道一切不是都按照操作系统选择的固定顺序运行吗?

即使是乱序执行的CPU 也会给人一种按程序顺序运行指令的错觉。(这与系统中其他内核或设备观察到的内存重新排序是分开的。在 UP 系统中,运行时内存重新排序仅与设备驱动程序相关。)

asynchronous cpu-architecture

2
推荐指数
1
解决办法
1295
查看次数

在Angular 5的帮助下呈现页面时出错

我正在Angular 5的帮助下做一个项目。我正在其中调用一个API。

我收到以下错误:

Error: StaticInjectorError(AppModule)[Router -> ApplicationRef]: 
  StaticInjectorError(Platform: core)[Router -> ApplicationRef]: 
    NullInjectorError: No provider for ApplicationRef!
    at NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get (core.js:951)
    at resolveToken (core.js:1195)
    at tryResolveToken (core.js:1140)
    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:1035)
    at resolveToken (core.js:1195)
    at tryResolveToken (core.js:1140)
    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get (core.js:1035)
    at resolveNgModuleDep (core.js:8071)
    at _callFactory (core.js:8143)
    at _createProviderInstance$1 (core.js:8091)
Run Code Online (Sandbox Code Playgroud)

我的Package.json是:

{
  "name": "demo-app",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^6.0.3",
    "@angular/common": "^6.0.3", …
Run Code Online (Sandbox Code Playgroud)

javascript angular angular5

2
推荐指数
1
解决办法
2242
查看次数