我是Java 8中使用Lambda表达式功能的初学者.Lambda表达式在解决Prime数字检查,阶乘等程序方面非常有用.
然而,它们可以有效地用于解决像Fibonacci这样的问题,其中当前值取决于前两个值的总和.我已经很好地使用Lambda表达式有效地解决了素数检查问题.下面给出了相同的代码.
boolean checkPrime=n>1 && LongStream.range(2, (long) Math.sqrt(n)).parallel().noneMatch(e->(n)%e==0);
Run Code Online (Sandbox Code Playgroud)
在方法的上述代码中,noneMatch
我们使用范围中的当前值(e
)进行评估.但对于Fibonacci问题,我们需要前两个值.
我们怎样才能实现呢?
我是Yii2框架和PHP的新手.当我尝试从服务器检索模型数据时json
,我得到一个空的结果.但是,当我使用时var_dump
,我得到一个非空的结果.
控制器类代码:
public function actionIndex() {
$client = new Client();
$client->name = "ajith";
echo json_encode($client);
}
Run Code Online (Sandbox Code Playgroud)
模型类代码:
class Client extends \yii\mongodb\ActiveRecord {
public static function collectionName() {
return ['gym', 'client'];
}
public function attributes() {
return ['_id', 'name', 'age', 'sex', 'phoneno', 'email', 'address', 'location'];
}
public function rules() {
return [
[['name', 'age', 'sex', 'phoneno', 'email', 'address', 'location'], 'safe']
];
}
public function attributeLabels() {
return [
'_id' => 'ID',
'name' => 'Name',
'age' => 'Age', …
Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个 NUXT 应用程序,需要在<head>
所选页面的部分内添加一些动态内容。需要插入页面的内容<head>
来自应用程序最初启动时的一次性 API 响应 (nuxtServerInit)。这将依次存储在 VUEX 中。对象结构看起来像
[{
pages:['index','home','..',....],
script:'<script>....</script><script>...</script>,<link href="someCss.css</link>"'
},
{
pages:['about','..',...],
script:'<script>....</script><script>...</script>,<link href="someOtherCss.css</link>"'
}]
Run Code Online (Sandbox Code Playgroud)
所以脚本应该<head>
根据配置被注入/删除到页面的部分(即关键脚本内的内容应该放在里面<head>
)。我对此进行了研究,我发现 NUXT 提供了一个可以在组件/布局内部使用的 head 函数,该函数返回的对象可以根据页面路由名称动态构造
//dynamically generate head scripts based on page route
head () {
return getScriptsForThisPage()
}
Run Code Online (Sandbox Code Playgroud)
但问题是关键脚本包含应该直接在<head>
标签内部使用的脚本、外部链接、元信息。所以那些解析逻辑需要写在函数 getScriptsForThisPage() 中才能使用 NUXT head() 函数。如果我们可以直接将脚本键中的任何内容添加到<head>
标签中,那将会很方便。
有没有比这更好/更聪明的方法
更新 -<head>
应该在页面加载之前填充(SEO 目的),所以我们不应该使用客户端 DOM 操作方法
我正在尝试在我的 Nuxt 应用程序中使用 Google Optimize。我需要一种在任何页面组件更新后触发激活事件的方法。当前的问题是 API 可能会返回数据,并使用 API 数据在页面加载时重新渲染 DOM。之后我需要触发激活事件。用于在 SPA 中触发激活事件的 google 文档如下在单页应用程序中 触发激活
对于 angular 应用程序,它是通过添加来完成的
myapp.run(function($rootScope, $timeout) {
$rootScope.$watch(function(){
$timeout(function(){
dataLayer.push({'event': 'optimize.activate'});
},0,false);
})
})
Run Code Online (Sandbox Code Playgroud)
我正在 Nuxt 应用程序中寻找类似的替代方案
我知道在组件内部,我可以updated
在内容更新和 DOM 重新渲染后监听生命周期钩子。但是,当任何组件更新或 DOM 重新呈现时,我需要一种在中央位置执行某些代码的方法。
我使用的是我在目录中创建了一个全局 mixin ( globalMixin.js
)plugins
并使用了它的updated
生命周期方法。因此,此混合代码被注入到每个组件中,并且如果这些组件数据中的任何一个发生更改,则更新方法将被调用。但我怀疑这种方法是否是理想的解决方案。
任何人都可以向我建议一种更好的方法来完成这项任务,或者 Nuxt/Vue 是否有任何标准的方法来做到这一点?里面的代码plugins/globalMixin.js
如下:
if (!Vue.__my_mixin__) {
Vue.__my_mixin__ = true
Vue.mixin({
updated() {
..execute some code
}
})
}
Run Code Online (Sandbox Code Playgroud) 我是Yii2框架和PHP的新手.我使用Mongo DB作为后端数据库.我从集合中获取文档并从控制器返回数据作为Json.返回的数据如下所示.
{
"55b08c383e1a36233fdbdc06": {
"_id": { "$id": "55b08c383e1a36233fdbdc06" },
"address": [ "abcdgt", "zxcv" ],
"age": "23",
"email": [ "qwert@gmail.com","abcd@mail.com" ],
"location": "kollam",
"name": "ajiths",
"phoneno": [ "9522585456", "7875642256" ] ,
"sex": "male"
}
}
Run Code Online (Sandbox Code Playgroud)
但是在尝试提醒result.name时,我收到了"Undefined" 在Javascript代码中.前端的代码如下所示.
function loadClient(id){
url = "<?= Yii::getAlias('@serverpathweb')?>/client/showclient?id="+id;
$.ajax({
url: url ,
method: "GET",
success: function(result){
alert(result.name);
}
});
}
Run Code Online (Sandbox Code Playgroud)
控制器端的代码如下所示.
public function actionShowclient($id) {
$clientdetail = Yii::$app->mongodb->getCollection('client');
$result = $clientdetail->find(["_id" =>$id]);
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
return $result;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我如何获得值result.name.