我知道直接从商店外部(例如从组件)操作 Vuex 状态通常是不好的做法;但我正在努力了解从action 中读取/更改状态的最佳实践是什么。
据我所知,行动本身有一个context对象作为参数,从中可以得到的state,还有getters,commit和dispatch作为属性。但我对使用这些的最佳实践感到困惑。例如:
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) 我想知道是否有可能用jQuery做这样的事情:
$('#embedVid' || '#upldImg').click(function() {
slide($('.vidEmbd') || $('#image_uploader_wrapper'));
});
Run Code Online (Sandbox Code Playgroud)
即.如果单击'#embedVid',则将'$('.vidEmbed')'传递给函数'slide',或者,如果单击'#upldImg',则将'$('#image_uploader_wrapper')'传递给'slide' "?
如果我可以将它们放在一个单击功能中,那就太好了......
谢谢
我需要能够完全重新加载子组件。实现这一点的最佳方法似乎是使用*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 渲染模板的方式有关?这不是特别优雅 - 任何人都可以提出更好的方法来实现我在这里要做的事情吗?谢谢
我正在尝试使用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),因为它们似乎假设每个链式语句将用于不同的列名.有谁知道我怎么做到这一点?
谢谢!
编辑 - 当然不可能在一个语句中使用关联数组,因为它必须包含重复键 - 在这种情况下,每个键都必须是'类别'...
我确定在某个地方之前一定要问过,但我找不到答案:
如何从本机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()没有找到第二个功能.那么我该如何正确引用呢?
我正在关注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) 我正在尝试使用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'
我不明白为什么?
我正在尝试仅使用 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)
但我正在努力将其与右侧的垂直条结合起来。我什至不确定是否有可能实现我想要的......它需要:
这可能吗?
我正在寻找一些帮助,在我的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文件中,还是放在插件域的子目录中?(我试过两个,结果相同).
请帮忙!提前致谢.
我有一个看起来像这样的数组:
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)