小编Ini*_*igo的帖子

在 Vuex 操作中直接操作状态与使用“提交”和“获取者”

我知道直接从商店外部(例如从组件)操作 Vuex 状态通常是不好的做法;但我正在努力了解从action 中读取/更改状态的最佳实践是什么。

据我所知,行动本身有一个context对象作为参数,从中可以得到的state,还有getterscommitdispatch作为属性。但我对使用这些的最佳实践感到困惑。例如:

      testAction: ({commit, getters, state}) => {

        if(state.foo === 'bar'){ // is this bad practice? 
            // ...do a thing
        }
        if(getters.getFoo === 'bar'){ // should I always read the state with a getter like this instead?
            // ...do a thing
        }

        commit('setFoo', 'foobar'); // do I always need to set the state via commit like this

        state.foo = 'foobar' // or is it fine …
Run Code Online (Sandbox Code Playgroud)

vue.js vuex

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

如果单击*this或*this,则分别执行*this或*this

我想知道是否有可能用jQuery做这样的事情:

 $('#embedVid' || '#upldImg').click(function() {
  slide($('.vidEmbd') || $('#image_uploader_wrapper'));
 });
Run Code Online (Sandbox Code Playgroud)

即.如果单击'#embedVid',则将'$('.vidEmbed')'传递给函数'slide',或者,如果单击'#upldImg',则将'$('#image_uploader_wrapper')'传递给'slide' "?

如果我可以将它们放在一个单击功能中,那就太好了......

谢谢

jquery function click

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

销毁并重新加载子组件

我需要能够完全重新加载子组件。实现这一点的最佳方法似乎是使用*ngIf带有布尔值的 simple ;设置false删除组件,然后设置true重新初始化,即:

<app-child *ngIf="enabled"></app-child>
Run Code Online (Sandbox Code Playgroud)

但是,似乎仅仅这样做还不足以快速删除/重新初始化组件:

reloadTree(){
  this.enabled = false;
  this.enabled = true; // doesn't work- child ngOnInit isn't called
}
Run Code Online (Sandbox Code Playgroud)

相反,我必须使用 asetTimeout才能工作:

reloadTree(){
  this.enabled = false;
  const self = this;
  setTimeout(function(){
    self.enabled = true;
  }, 1);
}
Run Code Online (Sandbox Code Playgroud)

我认为这与 Angular 渲染模板的方式有关?这不是特别优雅 - 任何人都可以提出更好的方法来实现我在这里要做的事情吗?谢谢

angular

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

codeigniter mulitple LIKE db query使用关联数组 - 但是所有来自相同的列名...?

我正在尝试使用codeigniter的活动记录类来查询我的数据库.我有一些存储在表格中的博客文章.该查询用于搜索功能,该功能将提取分配给它们的特定类别的所有帖子.因此,表格的"类别"列将列出该帖子的所有类别,没有特定的顺序,以逗号分隔,如下所示:政治,历史,社会学等.

如果用户选择,例如,政治和历史,则应返回具有这些类别的所有帖子的标题.

对?因此,查询的类别列表将是数组$ cats.我以为这会有用 -

foreach ($cats as $cat){
    $this->db->like('categories',$cat);
}
Run Code Online (Sandbox Code Playgroud)

通过制作这个 -

$这 - > DB->像( '类别', '政治'); $这 - > DB->像( '类别', '历史');

(这将产生''类别类似'政治%'和类别类似'%历史%')

但它不起作用,似乎只产生了第一个声明.我猜的问题是每个链式查询的列名是相同的.CI用户指南中似乎没有任何内容(http://codeigniter.com/user_guide/database/active_record.html),因为它们似乎假设每个链式语句将用于不同的列名.有谁知道我怎么做到这一点?

谢谢!

编辑 - 当然不可能在一个语句中使用关联数组,因为它必须包含重复键 - 在这种情况下,每个键都必须是'类别'...

foreach codeigniter chained

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

如何从本机php函数引用codeigniter函数名作为回调?

我确定在某个地方之前一定要问过,但我找不到答案:

如何从本机php函数的回调参数中引用Codeigniter函数的名称,例如array_map()

举个简单的例子,我的代码在我的内部CI_Controller:

function test(){
    $row = array('foo', 'bar');
    $new_row = array_map('do_the_mapping', $row);
    echo $new_row[0];
}

function do_the_mapping($row){
    return($row . $row);
}
Run Code Online (Sandbox Code Playgroud)

do_the_mapping()没有找到第二个功能.那么我该如何正确引用呢?

php codeigniter

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

工匠迁移:make --create命令不能使Schema :: create()

我正在关注Dayle Rees关于Laravel 4迁移的教程.(请查看链接以了解我的问题).我正在尝试使用Artisan制作一些迁移文件.我在段落开头"我们只是运行......",然后是示例Artisan命令:

php artisan migrate:make create_users --create --table=users
Run Code Online (Sandbox Code Playgroud)

...后跟生成的代码(片段):

public function up()
{
    Schema::create('users', function(Blueprint $table)
    {
        $table->increments('id');
        $table->timestamps();
    });
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行相同的工匠命令时,我不明白.我得到了这个:

public function up()
{
    Schema::table('users', function(Blueprint $table)
    {
        //
    });
}
Run Code Online (Sandbox Code Playgroud)

为什么?

也许这是Laravel稍稍版本的结果,而不是Rees先生用于该教程,但最烦人/令人费解的是工匠命令--create似乎不能正常工作,即.它正在输出

Schema::table()
Run Code Online (Sandbox Code Playgroud)

代替

Schema::create()
Run Code Online (Sandbox Code Playgroud)

laravel-4

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

具有角度2角度cli的CKeditor组件

我正在尝试使用Angular2运行ckeditor.我正在使用Angular CLI,我有一个非常基本的工作应用程序.

我已经intstalled 这个包使用npm install ng2-ckeditor.我system.config.js按照他们的例子完全设置了我的文件,即:

System.config({
    "map": {
      "ng2-ckeditor": "npm:ng2-ckeditor",
    },
    "packages": {
      "ng2-ckeditor": {
        "main": "lib/index.js",
        "defaultExtension": "js",
      },
    }
  });
Run Code Online (Sandbox Code Playgroud)

app.modules.ts以同样的方式包含在我的中:

从'ng2-ckeditor'导入{CKEditorModule};

@NgModule({
  // ...
  imports:      [
    CKEditorModule
  ],
  // ...
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)

运行后ng build,ng serve我在控制台中收到以下错误:

模块'AppModule'导入的意外值'CKEditorModule'

我不明白为什么?

ckeditor angular-cli angular

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

CSS 背景网格:具有单个垂直列的水平重复线性渐变

我正在尝试仅使用 CSS 在单个元素上创建特定的背景图案。下图显示了我想要的最终结果:

在此输入图像描述

我可以使用以下命令创建重复的水平条纹:

  background-image: repeating-linear-gradient(
                  to bottom,
                  #f7f7f8 0,
                  #f7f7f8 32px,
                  rgba(255, 255, 255, 0) 32px,
                  rgba(255, 255, 255, 0) 64px
  );
Run Code Online (Sandbox Code Playgroud)

但我正在努力将其与右侧的垂直条结合起来。我什至不确定是否有可能实现我想要的......它需要:

  • 距右侧边缘的设定距离(以像素为单位)
  • 是固定宽度,以像素为单位
  • 完全覆盖下面的水平网格,即。无论底层颜色如何,它都应该是相同的颜色 - 无透明度。

这可能吗?

css linear-gradients

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

htaccess多个301重定向

我正在寻找一些帮助,在我的htaccess文件中设置一些重定向规则.我已将网站切换为在Codeigniter上运行,基本上所有以.php结尾的页面,现在只是删除了该结尾,即www.mysite.com/foo/bar.php现在www.mysite.com/foo/bar

我试过像这样列出重定向:

Redirect 301 http://mysite.com/foo/bar.php http://mysite.com/foo/bar
Redirect 301 http://mysite.com/foo/bar/bar.php http://mysite.com/foo/bar/bar
Redirect 301 http://mysite.com/foo/bar/foo.php http://mysite.com/foo/bar/foo
Run Code Online (Sandbox Code Playgroud)

等(需要大约12个规则).奇怪的是,它适用于第一条规则但不适用于其他规则?我没有正确列出它们吗?我读过的所有内容都告诉我这就是它的写作方式.那么我做错了什么?

可能相关的其他信息:

我的htaccess文件已经包含以下代码(用于从url中删除'index.php'):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)

不确定重写之前或之后是否重要?此外,该网站是一个插件域.我不完全确定这些重写是否应该放在主站点的公共文件夹中的.htaccess文件中,还是放在插件域的子目录中?(我试过两个,结果相同).

请帮忙!提前致谢.

.htaccess redirect

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

PHP按键拆分数组

我有一个看起来像这样的数组:

array (
  'id' => 1,
  'channel_id' => 1,
  'field_group' => 1,
  'url_title' => 'the_very_first_entry',
  'title' => 'The Very First Entry',
  'fields' => 
  array (
    0 => 
    array (
      'label' => 'Enter Item Name:',
      'type' => 'text',
      'channel_data_id' => 1,
      'value' => 'Item one',
      'field_id' => 1
    ),
    1 => 
    array (
      'label' => 'Enter Item Description',
      'type' => 'textarea',
      'channel_data_id' => 2,
      'value' => 'Some long text blah blah',
      'field_id' => 2
    )
   )
  )
Run Code Online (Sandbox Code Playgroud)

我想把它分成2个数组,一个包含字段,另一个包含其他所有数组,即.

数组1:

array ( …
Run Code Online (Sandbox Code Playgroud)

php

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