我知道我可以每次都设置超时:
$http.get('path/to/service', {timeout: 5000});
Run Code Online (Sandbox Code Playgroud)
...但我想设置一个全局超时来保持我的代码DRY.
使用Laravel和雄辩的ORM,我想创建属于特定用户(登录的用户)的所有帖子和相应评论的数组或对象.然后结果将与Response :: eloquent()一起使用; 返回JSON.
基本上在伪代码中:
All Posts by user ::with('comments').
Run Code Online (Sandbox Code Playgroud)
要么
Posts by Auth::user()->id ::with('comments').
Run Code Online (Sandbox Code Playgroud)
我通常使用用户的表,注释表和帖子表进行数据库设置.comments表有一个post_id,posts表有一个user_id.
在没有Laravel的情况下做这件事的漫长道路将是:
SELECT * FROM posts WHERE user_id = 'user_id'
foreach($result as $post) {
SELECT * FROM comments WHERE posts_id = $post->id
foreach($query as $comment) {
$result[$i]->comments[$n] = $comment
}
}
Run Code Online (Sandbox Code Playgroud)
但我想用Laravel的Eloquent ORM来实现它.
我正在试图找出将phonegap相机与AngularJS集成的最佳实践.我尝试的第一种方法是创建一个带有从ng-click调用的promises的工厂.另一种方法是将代码放在控制器内的ng-click内,但是它不可重复使用.也许可以从中做出指示?我相信还有其他一些方法."angularjs"的方式是什么?
这是我试过的工厂方法的一个例子....
HTML:
<button ng-click="takepic">Take Picture</button>
Run Code Online (Sandbox Code Playgroud)
控制器:
function picturePageCtrl($scope, Camera) {
$scope.takepic = function() {
// I'd like to push this into an array of "pics" here.
// but it is hard to push() with promises.
Camera.getPic();
}
}
Run Code Online (Sandbox Code Playgroud)
工厂:
.factory('Camera', function($q) {
var deferred = $q.defer();
return {
getPic: function() {
navigator.camera.getPicture(
function (imageURI) {
deferred.resolve(imageURI);
},
function (message) {
deferred.reject(message);
},
{
quality: 50,
destinationType: Camera.DestinationType.FILE_URI
}
);
return deferred.promise;
}
}
})
Run Code Online (Sandbox Code Playgroud) 以下代码说明了一切......
// routes.php
App::make('SimpleGeo',array('test')); <- passing array('test')
// SimpleGeoServiceProvider.php
public function register()
{
$this->app['SimpleGeo'] = $this->app->share(function($app)
{
return new SimpleGeo($what_goes_here);
});
}
// SimpleGeo.php
class SimpleGeo
{
protected $_test;
public function __construct($test) <- need array('test')
{
$this->_test = $test;
}
public function getTest()
{
return $this->_test;
}
}
Run Code Online (Sandbox Code Playgroud) 查看下面的代码.问题出在评论中.
angular.module('MainStreetMower.services', ['ngResource'])
.factory('Videos', function($resource) {
return $resource('/api/jobs/1/');
});
function VideoListCtrl($scope, Videos) {
$scope.videos = Videos.query();
$scope.what = function() {
// proper way to push to the videos array and $save() the new array.
}
}
Run Code Online (Sandbox Code Playgroud) 我需要为文件上传创建一个进度条.我知道我的进度事件监听器正在工作.是否有更多"有角度的方式"来做这件事?如何从事件监听器内部更新进度条?
作为序言,如果它也需要帮助,请随意纠正和批评一般逻辑流程.
我有这个画布......
<canvas id="progress"></canvas>
Run Code Online (Sandbox Code Playgroud)
我有一个上传文件的angularjs指令.我添加了一个进度事件监听器(仅显示相关部分)...
link: function postLink(scope, element, attrs, ctrl) {
var fileUpload = function (img, file) {
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", function(e) {
if (e.lengthComputable) {
var percentage = Math.round((e.loaded * 100) / e.total);
// UPDATE THE PROGRESS BAR HERE
}
}, false);
}
element.bind('change', function (evt) {
var files = evt.target.files;
var canvas = document.getElementById("progress"),
context = canvas.getContext("2d");
context.fillStyle = 'lighgray';
context.fillRect(0, 0, 200, 18);
context.moveTo(0, 0);
context.fillStyle = 'darkgray';
context.fillRect(0, 0, 1, 18); …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用带有过滤器的ng-options,并且可以看到所看到的行为.但是,预期的行为并非所需.
做以下事情的最佳做法是:
<div ng-init="blades = [{item:'1', spec:'2'}]"></div>
<select
ng-model="blades"
ng-options="blade.spec as blade.spec for blade in blades">
<option>--</option>
</select>
<ul>
<li ng-repeat="blade in blades">{{blades.item}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
在这里,当您进行过滤时,您可以过滤选择列表中的值,使其无效.什么是最佳做法?
我遇到了需要构建内容类型的问题.首先,我定义我的模型.我正在使用Drupal所以我需要发送嵌套在以下内容中的值:
field_whatever.und[0].value = "";
Run Code Online (Sandbox Code Playgroud)
假设我为图像定义了一个数组:
$scope.field_my_images = {"und": [{}]};
Run Code Online (Sandbox Code Playgroud)
因为我有一个空白数组:
<div ngRepeat="image in field_my_images.und"><img ng-src="{{image.url}}" /></div>
Run Code Online (Sandbox Code Playgroud)
将第一个数组元素打印为空白.当我将新对象推送到field_my_images时,除第一个空白元素外,它正常工作.
这样做的正确方法是什么?
我可以添加细节,并根据需要更具体....
angularjs ×6
javascript ×4
laravel ×2
cordova ×1
eloquent ×1
html5 ×1
html5-canvas ×1
laravel-4 ×1
orm ×1
php ×1