在我的Angularjs应用程序中,我正在使用此https://github.com/vinaygopinath/ngMeta.
<title ng-bind="ngMeta.title"></title>
<meta property="og:title" content="{{ngMeta.title}}" />
<meta property="og:description" content="{{ngMeta.description}}" />
Run Code Online (Sandbox Code Playgroud)
我的控制器代码是
app.controller('controller1',function($scope, $location , $http , $routeParams, ngMeta, $route){
$scope.$route = $route;
ngMeta.setTitle('site title');
ngMeta.setTag('description', 'this is description');
ngMeta.setTag('keywords', 'tag1, tsg2, tag3');
});
Run Code Online (Sandbox Code Playgroud)
在页面加载一切正常,但谷歌显示{{ngMeta.description}} {{ngMeta.title}}这样任何帮助来解决这个问题.
在这个插件中,我有一个Angular UI Modal包装在一个指令中.从控制器,我调用一个方法来打开模态,但为此我需要使用$timeout,否则,DOM还没有完成渲染指令.
这似乎有效,但是如果需要完成的任何事情在$timeout到期后还没有完成,会发生什么?该$timeout可以在开发环境中工作,但在生产中可能会失败.使用是不好的做法$timeout?如何在这个例子中避免使用它?
HTML
<div modal control="modalCtl"></div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript
var app = angular.module('app', ['ui.bootstrap']);
app.controller('myCtl', function($scope,$timeout) {
$scope.modalCtl = {};
$timeout(function(){
$scope.modalCtl.openModal();
},100);
})
.directive('modal', function ($uibModal) {
var directive = {};
directive.restrict = 'EA';
directive.scope = {
control: '='
};
directive.link = function (scope, element, attrs) {
scope.control = scope.control || {};
scope.control.openModal = function() {
scope.modalInstance = $uibModal.open({
template: '<button ng-click="close()">Close</button>',
scope: scope
})
};
scope.close = function () …Run Code Online (Sandbox Code Playgroud) angularjs angular-ui angularjs-directive angular-ui-bootstrap
Safari 已阻止自动播放完全可以理解的视频。但我必须找到一种解决方法,让视频“自动”播放。\n顺便说一句,我使用VueJS。
\n\n视频:
\n\n<video preload="auto" id="videowizy" class="video mockup-size">\n <source src="../assets/video.mp4" type="video/mp4">\n</video>\nRun Code Online (Sandbox Code Playgroud)\n\n该视频仅在按下自定义播放按钮时播放。
\n\n<a id="play" @click="startVideo">Play Video \xe2\x96\xb6</a>\nRun Code Online (Sandbox Code Playgroud)\n\n我从.play();开始 功能。
\n\nthis.videoStarted = true;\nwindow.setTimeout(() => {\n this.videoVisible = true;\n var video = document.getElementById(\'videowizy\');\n video.addEventListener(\'ended\',this.stopVideo,false);\n video.play();\n},2000)\nRun Code Online (Sandbox Code Playgroud)\n\n现在回答问题。Safari 12 向我抛出以下错误
\n\n\n\n\n未处理的承诺拒绝:NotAllowedError:当前上下文中的用户代理或平台不允许该请求,可能是因为用户拒绝了权限。
\n
当我使用controls=true时我会被修复,但是当我使用controls=true时我无法按播放,因为视频绝对位于框架后面(以模拟手机的模型)。\n有没有办法说“嘿这个是播放按钮,请让我玩 Safari”?
\n\n提前致谢!
\n请查看 nativescript-vue 应用程序存储库:
https://github.com/kaanguru/vue-apollo-login
我无法正确解释,所以请查看该应用程序。我不知道如何更新 appolloClient 标头。
应用程序存储库有自己的注释和指令。您可以轻松安装和查看。
Post 请求提交用户的标识符和密码凭据进行身份验证,并在登录页面获取令牌。
Apollo 需要将 jwt 令牌放入 Authorization 标头中。
Main.js:如果有 JWT 以标头开头,则启动 apollo 客户端
如果没有 JWT 则转到登录
如果有智威汤逊,请转到鸟类列表
登录:从服务器获取jwt并将其写入本地存储
import ApolloClient from 'apollo-boost'
import VueApollo from 'vue-apollo'
Vue.use(VueApollo)
const apolloClient = new ApolloClient({
uri: 'http://sebapi.com/graphql',
// HEADERS WORK FINE IF TOKEN WAS IN MAIN
// headers: {
// authorization: `Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwiaWF0IjoxNTg2MzU2NzM2LCJleHAiOjE1ODg5NDg3MzZ9.wpyhPTWuqxrDgezDXJqIOaAIaocpM8Ehd3BhQUWKK5Q`,
// }
})
const apolloProvider = new VueApollo({
defaultClient: …Run Code Online (Sandbox Code Playgroud) 我正在使用来自 git hub 的这个包作为 vuejs 的负加输入,在 v2 文件夹示例中有一个名为 plusminusfield.vue 的示例文件,这是我用来使用它的:
export default {
props: {
value: {
default: 0,
type: Number
},
base_capacity: {
type: Number,
required: true
},
min: {
default: here I want to use the sent variable which is defined above and that is base_capacity
if I send a hard code like 5 it works well but I want to make it dynamic
type:Number
},
max: {
default: 22,
type: Number
},
},
data(){
return …Run Code Online (Sandbox Code Playgroud) vue.js ×3
angularjs ×2
javascript ×2
android ×1
angular-ui ×1
graphql ×1
html ×1
html5-video ×1
safari ×1
vue-apollo ×1