您好我想知道如何在nativescript中设置设备方向.具体来说,我希望我写的应用程序始终保持相同的方向(纵向),以便旋转设备不会导致它进入横向.
我尝试了nativescript-orientation插件和setOrientation.
var orientation = require('nativescript-orientation');
console.log(JSON.stringify(orientation));// outputs JS: {}
orientation.setOrientation("portrait");
Run Code Online (Sandbox Code Playgroud)
但是我收到错误"无法读取属性setOrientation of undefined.tns插件列表显示插件已安装.此外,我尝试删除platforms/android目录并运行tns platform add android相同的结果.
我也尝试将各种组合android:screenOrientation="portrait"放入AndroidManifest.xml但没有成功.
App_resources内部的AndroidManifest.xml看起来像这样
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="__PACKAGE__"
android:versionCode="1"
android:versionName="1.0">
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"/>
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="__APILEVEL__"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:screenOrientation="portrait"
android:name="com.tns.NativeScriptApplication"
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name="com.tns.NativeScriptActivity"
android:label="@string/title_activity_kimera"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@style/LaunchScreenTheme">
<meta-data android:name="SET_THEME_ON_LAUNCH" android:resource="@style/AppTheme" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.tns.ErrorReportActivity"/>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud) 我有一个反应组件
const Example = () => (<View>...</View>);
Run Code Online (Sandbox Code Playgroud)
使用反应导航我通常会说通过导航选项
Example.navigationOptions = { options };
Run Code Online (Sandbox Code Playgroud)
使用打字稿我得到错误
[ts] Property 'navigationOptions' does not exist on type '(props: Props) => Element'.
我怎样才能解决这个问题?
我试着写一个界面
interface ExampleWithNavigationOptions extends Element {
navigationOptions?;
}
Run Code Online (Sandbox Code Playgroud)
但没有运气.
ts 编译器说“文档”类型不存在任何属性。
似乎因此无法设置模型上的任何属性。如果我将用户对象打印到控制台,我得到的只是 {"_id":"long hex id number"}
我的模型配置如下:
用户.ts
import * as mongoose from 'mongoose';
import * as crypto from 'crypto';
import * as jwt from 'jsonwebtoken';
var userSchema = new mongoose.Schema({
email: {
type: String,
unique: true,
required: true
},
firstMidname: {
type: String,
required: true
},
lastName: {
type: String,
required: true
},
hash: String,
salt: String
});
userSchema.methods.setPassword = setPassword;
userSchema.methods.validPassword = validPassword;
userSchema.methods.generateJwt = generateJwt;
export = mongoose.model('User', userSchema);
Run Code Online (Sandbox Code Playgroud)
api连接点api.ts
import * as express from 'express'; …Run Code Online (Sandbox Code Playgroud) 我跟随一个关于复数的课程,我遇到了一个奇怪的问题.我的列表视图仅显示第一个元素而不显示任何其他元素.这是奇怪的,我之前使用列表视图没有问题所以我不知道错误来自哪里.
布局:
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
loaded="pageLoaded">
<GridLayout rows="auto, *">
<!-- Header -->
<StackLayout cssClass="page-header">
<Label text="Header" cssClass="page-title bold" horizontalAlignment="center" margin="15"/>
</StackLayout>
<!-- Sessions Views -->
<GridLayout rows="auto, *" row="1">
<ListView items="{{ sessions }}">
<ListView.itemTemplate>
<Label text="{{ title }}"/>
</ListView.itemTemplate>
</ListView>
</GridLayout>
</GridLayout>
</Page>
Run Code Online (Sandbox Code Playgroud)
打字稿:
import { EventData, Observable } from "data/observable";
import { Page } from "ui/page";
var page: Page;
var tempSessions = [
{
id: '0',
title: "Stuff"
},
{
id: '1',
title: "Stuffly"
},
{
id: '2',
title: "Stufferrs" …Run Code Online (Sandbox Code Playgroud) 我正在使用 redux 和 react-native 构建一个应用程序。
我对我使用的模式很好奇。我没有遇到任何缺点,但是我没有在任何教程中看到它,这让我想知道为什么没有人这样做。
而不是将动作创建者作为连接函数中的道具传递,例如
connect(mapStateToProps,{ func1, func2 })(Component);
Run Code Online (Sandbox Code Playgroud)
我将应用程序商店导入到模块内部,我首先在其中声明了函数:
import { AppStore } from '../App';
const actionCreator = () => {
doSomethng();
appStore.dispatch({ type: 'Action' });
};
Run Code Online (Sandbox Code Playgroud)
对我来说,这使得执行异步操作变得更容易,因为我不需要中间件:
import { AppStore } from '../App';
const actionCreator = async () => {
await doSomethng();
appStore.dispatch({ type: 'Action' });
};
Run Code Online (Sandbox Code Playgroud)
我这样做是因为 js-lint 错误'no-shadow'。它让我意识到,为了使用它,我必须在组件文件中导入动作创建者,然后将其作为 prop 传递给 connect 函数,以便动作创建者能够访问调度。
import { actionCreator1, actionCreator2 } from './actionCreators';
const myComponent = (props) => {
const { actionCreator1, actionCreator2 } = props; …Run Code Online (Sandbox Code Playgroud) 我正在尝试连接到kairos api以熟悉它并使用它们的检测功能.
这个api还没有正式的C#库.有一个似乎没有积极维护.
我正在尝试使用RestSharp直接连接.服务器正在接收我的请求,如果我省略app_id和app密钥进行身份验证,就会响应我的预期.所以那部分(添加标题)似乎正在起作用.
添加参数似乎失败了.根据他们的网站:https://www.kairos.com/docs/face-recognition/唯一需要的参数是带有url或base64编码照片的"图像".
我添加了参数:
var imageURL = new Uri("http://media.kairos.com/kairos-elizabeth.jpg");
request.AddParameter("image", "{\"url\":\"" + imageURL + "\"}");
Run Code Online (Sandbox Code Playgroud)
但回应仍然是:"Error code: 1002",
"Message": One or more required parameters are missing.
我怀疑uri是如何构建的,但是我真的不能把它放在它上面.我复制了语法
request.AddParameter("image", "{\"url\":\"" + imageURL + "\"}");
Run Code Online (Sandbox Code Playgroud)
来自我之前提到的相同的C#SDK.我也试过它:
var imageURL = new Uri("http://media.kairos.com/kairos-elizabeth.jpg");
request.AddParameter("image", imageURL);
Run Code Online (Sandbox Code Playgroud)
没有成功.
谁能帮我?
编辑:只是要清楚完整的代码如下所示:
static void Main(string[] args)
{
var client = new RestClient();
client.BaseUrl = new Uri("https://api.kairos.com/");
var request = new RestRequest("detect", Method.POST);
request.AddHeader("Content-Type", "application/JSON");
request.AddHeader("app_id", "MY app ID");
request.AddHeader("app_key", "My app KEY");
var …Run Code Online (Sandbox Code Playgroud) 我有以下对象
{ _id: 58ae39c54473f9cfd4eb29b6,
email: 'another@club.com',
name: 'Another Club Renamed',
__v: 0,
createdEvents: [],
instructors: [ 58a5ac4f84230a2117d1d6cb, 111111111111111111111111 ],
members: [] }
Run Code Online (Sandbox Code Playgroud)
当我使用该方法时
object.instructors.includes(58a5ac4f84230a2117d1d6cb)
object.instructors.includes(111111111111111111111111)
或者
object.instructors.includes('58a5ac4f84230a2117d1d6cb')
object.instructors.includes("111111111111111111111111")
结果总是错误我做错了什么吗?
Array.isArray(club.instructors) 返回真
编辑:对象是一个mongoose.document. 上面的对象正是我执行时它被记录到控制台的方式
Club.findById(id (err, club) =>{
console.log(club);
})
Run Code Online (Sandbox Code Playgroud) 您好,我正在尝试在Typescript xml页面中获取Image元素,并以编程方式设置其imageSource属性。
在示例中,我发现它是通过以下方式完成的:
image = page.getViewById("id");
image.imageSource = newImageSource;
Run Code Online (Sandbox Code Playgroud)
我在使用打字稿时遇到的问题是
error 'imageSource' does not exist on type 'View'
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决该问题。有任何想法吗?
typescript ×4
nativescript ×3
android ×2
reactjs ×2
arrays ×1
c# ×1
express ×1
imagesource ×1
javascript ×1
mongodb ×1
mongoose ×1
node.js ×1
react-native ×1
react-redux ×1
redux ×1
redux-thunk ×1
rest ×1
restsharp ×1