如何从父级访问Vue中组件的计算属性?
在这个例子中,我有一个带有项目组件的购物车,我想计算并显示购物车项目的总和:
cart.js
var vm = new Vue({
el: '#cart',
components: {
cartItem: require('./components/cart-item.js'),
},
data: {
items: [
{ name: 'apple', qty: 5, price: 5.00 },
{ name: 'orange', qty: 7, price; 6.00 },
],
},
computed: {
// I want to do something like this and access lineTotal from cart
cartTotal: function() {
return this.items.reduce(function(prev,curr) {
return prev + curr.lineTotal;
}, 0)
}
}
});
Run Code Online (Sandbox Code Playgroud)
购物车,item.js
module.exports = {
template: require('./cart-item.template.html'),
props: ['fruit'],
computed: {
lineTotal: function() { …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用会话实现Flash消息,但我无法这样做.
在我的控制器中我有:
public function store(Request $request) {
session()->flash('donald', 'duck');
session()->put('mickey', 'mouse');
return redirect()->action('CustomerController@index')->with('bugs', 'bunny');
}
Run Code Online (Sandbox Code Playgroud)
但是当我在视图中检查会话变量时,我只能看到来自的值session()->put('mickey', 'mouse').
会议:
{"_token":"F6DoffOFb17B36eEJQruxvPe0ra1CbyJiaooDn3F","_previous":{"url":"http:\/\/localhost\/customers\/create"},"flash":{"old":[],"new":[]},"mickey":"mouse"}
Run Code Online (Sandbox Code Playgroud)
很多人通过在Web中间件中没有相关路由来遇到这个问题.我也确保这样做但它仍然不起作用.
在routes.php中:
Route::group(['middleware' => ['web']], function () {
Route::get('/', function () {
return view('welcome');
});
Route::get('/customers', 'CustomerController@index');
Route::get('/customers/create', 'CustomerController@create');
Route::post('/customers', 'CustomerController@store');
});
Run Code Online (Sandbox Code Playgroud)
在Kernel.php中:
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],
'api' => [
'throttle:60,1',
],
];
Run Code Online (Sandbox Code Playgroud)
任何人都可以让我知道我在这里做错了什么吗?谢谢!
<select>使用vue.js 绑定元素时v-model,如何获取所选选项文本而不是所选选项值?
在HTML中:
<select v-model="selected" options="myOptions"></select>
Run Code Online (Sandbox Code Playgroud)
在JS中:
myOptions: [{ text: 'Blue', value: '1' }, { text: 'Green', value: '2' }]
Run Code Online (Sandbox Code Playgroud)
我想要检索的是文本'Blue'以及值'1',通过执行类似{{ selected.text }}或的操作{{ selected.value }}.但是,您只能{{ selected }}默认返回所选值.
我在实现group_by和在Laravel中使用Eloquent进行查询时遇到了问题.
这是场景:
orders
- id
- qty
deliveries
- id
- qty
- order_id
Run Code Online (Sandbox Code Playgroud)
我想使用联接来显示具有不完整交货的订单以及相应的余额:
Order::left_join('deliveries', 'orders.id', '=', 'deliveries.order_id')
->select(array('orders.*'), DB::raw('orders.qty - IFNULL(sum(deliveries.qty),0) AS balance')))
->group_by('order_id')
->having('balance', '>', 0)
->get();
Run Code Online (Sandbox Code Playgroud)
没有'having'子句,'balance'值可以正常工作.但是,在添加'having'子句时,结果表不会显示任何行.有没有人有任何想法?
提前致谢!
laravel ×2
php ×2
vue.js ×2
eloquent ×1
group-by ×1
having ×1
javascript ×1
laravel-5.2 ×1
session ×1