小编Ben*_*est的帖子

有条件地将target ="_ blank"添加到与Angular JS的链接中

我正在Angular JS中构建一个导航树.树中的大多数链接都指向我网站中的页面,但有些可能指向外部网站.

如果链接的href以http://或https://开头,那么我假设链接是针对外部站点的(正如/^https?:\/\//这样的正则表达式).

我想将target ="_ blank"属性应用于这些链接.当我创建链接时,我希望用角度来做这个:

<ul>
    <li ng-repeat="link in navigation">
        <a ng-href="{{link.href}}" [add target="_blank" if link.href matches /^https?:\/\//]>{{link.title}}</a>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

谁能帮我吗?

谢谢

javascript angularjs

32
推荐指数
3
解决办法
4万
查看次数

5.6中的isset致命错误但7中罚款

这段代码在5.6中导致PHP致命错误,但在7.0及更高版本中正常工作.没有记录的变化isset我可以发现它表明它可以作为常量使用数组.

<?php
class Test
{
    const A = [1];
}

echo isset(Test::A[0]);
Run Code Online (Sandbox Code Playgroud)

有谁知道任何文件说明这是一个实际的变化?使用isset数组作为常量是否安全?

PHP 5.6.30错误:

致命错误:不能对表达式的结果使用isset()(可以使用"null!== expression"代替)

php

13
推荐指数
1
解决办法
507
查看次数

PDO :: commit()成功或失败

PHP PDO :: commit()文档声明该方法在成功时返回TRUE,在失败时返回FALSE.这是指beginTransaction()和commit()之间语句执行的成功还是失败?

例如,从文档中:

$dbh->beginTransaction();
$sql = 'INSERT INTO fruit (name, colour, calories) VALUES (?, ?, ?)';
$sth = $dbh->prepare($sql);

foreach ($fruits as $fruit) {
    $sth->execute([
        $fruit->name,
        $fruit->colour,
        $fruit->calories,
    ]);
}

$dbh->commit();
Run Code Online (Sandbox Code Playgroud)

如果上述任何执行失败,由于原子事务的"全有或全无"基础,commit()方法是否会返回false?

php mysql pdo transactions

8
推荐指数
2
解决办法
7279
查看次数

APP_ENV 和 APP_DEBUG 常量在 Symfony 应用程序中有何影响?

这些环境变量的各种设置有什么作用?

我当前的猜测是,它APP_ENV仅用于选择要加载的配置(config/packages/{APP_ENV}/*)并APP_DEBUG打开/关闭内核事件的附加控制台输出,并启用异常的调试视图等。

这是正确的还是这些变量会做额外的事情?

php symfony

7
推荐指数
1
解决办法
1万
查看次数

将我的网站转换为使用 Angular JS

所以,我最近一直在研究 AngularJS,它的许多特性给我留下了深刻的印象。我目前正在传统庄园(php、html、css、mysql、一些 jQuery)中开发一个站点,我真的很想转换该站点,以便我使用 Angular。我想这样做是因为我目前在许多页面中将 PHP 与 HTML 混合在一起,并且越来越难以看出表示、数据和逻辑所在的位置(Angular 似乎很好地解决了这个问题)。我在 Web 开发和编程方面有相当丰富的经验,但除了在他们网站上浏览教程和在这里和那里的一些杂项阅读之外,我还没有使用 Angular 的经验。

Angular 目前对我来说似乎很陌生,我想知道你们中的一些人是否可以帮助我理解如何以最合适的方式做某些事情。我不希望有详细的解释,但是任何指向适当的 Angular 指令/其他 SO 问题/其他网站的链接都会非常有帮助。

我的设计布局非常简单:

后端:

  • MySQL 数据库,存储有关所有页面的信息 [标题、访问级别、文件路径等]
  • PHP 文件包含启动会话和与数据库交互的函数,例如 getPageData()、signInUser()、signOutUser() 等。

前端:

  • index.php - 主模板页面。包括后端 PHP 文件以提供对其功能的访问。用户请求的页面是一个 GET 参数,因此典型的 URL 看起来像“domain.com/index.php?page=home”(尽管这被 .htaccess 屏蔽,看起来像“domain.com/home”) . 所有内容页面都“包含”<div>在此页面中

我从根本上理解,我需要从 content 和 index.php 页面中删除所有 PHP,而是向后端 PHP 文件发出 ajax 请求,这些文件应该输出 JSON 对象,然后 Angular 可以使用它以我编程的方式构造 DOM到。

我不明白我应该如何:

  • 获取要发送到后端 PHP 中的 getPageData() 函数的 URL 参数,或获取任何其他与此相关的 URL 参数。(Angular 似乎使用 url 的哈希部分而不是标准的 '?')
  • 在 index.php 页面中包含内容页面(我应该使用 ng-view 还是 ng-include?)

另外,我可以想象在加载页面时发出多个 …

javascript php angularjs

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

用颜色部分填充形状的边框

我正在尝试创建一个进度效果,颜色填充DOM对象的边框(或可能是背景).附上的图片可以让你更好地了解我的目标.我通过在灰色线条上添加具有纯色背景颜色的对象并设置其高度来实现当前结果.这个对象mix-blend-mode: color-burn;适用于它,这就是它只为它下面的灰色线着色的原因.

这样可以正常工作,但会破坏圆周围的抗锯齿,并且产生的颜色也是不可预测的(根据线条的颜色而变化).

我觉得必须有更好的方法来实现这一点,也许是使用canvas元素.有人能指出我正确的方向吗?

提前致谢!

例

html javascript css svg css-shapes

4
推荐指数
1
解决办法
380
查看次数

Focusin和focusout方法无法在firefox中运行

我有一个这样的列表:

<ul class="tabs-dropdown">
    <li><a href="/home">Home</a></li>

    <li>
        <a href="javascript:">French Alps</a>
        <div>
            <ul>
                <li><a href="/region/french-alps/about">About</a></li>
                <li><a href="/region/french-alps/properties">Properties</a></li>
            </ul>
        </div>
    </li>

    <li>
        <a href="javascript:">Swiss Alps</a>
        <div>
            <ul>
                <li><a href="/region/swiss-alps/about">About</a></li>
                <li><a href="/region/swiss-alps/properties">Properties</a></li>
            </ul>
        </div>
    </li>

    <li><a href="/finance">Finance</a></li>
    <li><a href="/contact">Contact Us</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

和一些像这样的JavaScript:

var element = angular.element(document.querySelector('ul'));

element.children().on('focusin', function () {
    angular.element(this).addClass('focused');
}).on('focusout', function () {
    angular.element(this).removeClass('focused');
});
Run Code Online (Sandbox Code Playgroud)

这是所有代码的小提琴

基本上,我希望当他们的任何后代有焦点时,第一级列表元素变为红色.我正在听第一级列表元素上的focusin和focusout事件来实现这一点.

将焦点应用于示例中的元素的最佳方法是选择它们.

这在Chrome和IE中运行良好,但在Firefox中没有,我想不出原因.

任何帮助将不胜感激.

如果你想知道为什么我在AngularJS而不是jQuery中这样做,那是因为这段代码是Angular指令的一部分,而这只是不起作用的一点.

javascript angularjs angularjs-directive

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

对于已发布的包,@types 应该是什么依赖类型?

我正在创建一个我打算发布到 NPM 的包。我正在用打字稿编写包,并将我的 tsconfig 文件设置为与已编译的 javascript 一起发出打字稿声明文件,以便其他使用打字稿的人可以在他们的 IDE 中获得正确的类型信息 - 非常标准。我正在使用某些绝对类型包,但不确定它们应该是什么依赖类型。如果有人在打字稿项目中使用我的包,我的声明文件将需要安装相关的 @types 包,但如果他们使用 javascript,则不需要安装这些包。我认为 @types 包应该在我的包的 package.json 文件的 optionalDependencies 中。这样对吗?

npm typescript definitelytyped

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