小编sch*_*max的帖子

一次绑定:更新模型并重新渲染视图

我想知道是否可能,使用角度一次性绑定,在模型更新后完全重新渲染视图/模板,也可以通过重新编译模板.例如,在按下按钮时,可能在反应方式中工作:我更新模型并明确强制更新视图.基本上这就是我想要实现的目标:

// controller
angular.module('app', []).controller('AppCtrl', function($scope) {
    $scope.items = [
        {id: 1},
        {id: 2},
        {id: 3}
    ];

    $scope.addAndRefresh = function() {
        $scope.items.push({id: 4});
        // manually call render logic here???
    };
});


<!-- HTML template -->
<div ng-repeat="item in ::items">
    {{item.id}}
</div>
<button ng-click="addAndRefresh()">Add</button>
Run Code Online (Sandbox Code Playgroud)

通过单击"添加"按钮,我想刷新视图以查看新添加的项目.

data-binding angularjs

14
推荐指数
2
解决办法
9953
查看次数

osx上的phpstorm:'评论与行评论'的快捷方式

好像我仍然没有完全转变为mac用户(来自Windows),再次遇到键盘快捷键问题:

在phpstorm中,下面的"与行注释评论"的快捷方式显示在下拉菜单中:

评论快捷方式

现在,问题在于,我的键盘上没有'/'键,键入斜线意味着为我按下'SHIFT + 7'.

我已经在phpstorm上找到了keymap选项(目前正在使用'Mac OS X 10.5+)并尝试更改那里的快捷方式,但到目前为止还没有到达任何地方.

更新27. 2018年9月

macos shortcut phpstorm

11
推荐指数
2
解决办法
8836
查看次数

PHP:将textarea行分解为单独的数组元素

我有一个包含电话号码的textarea,每个号码都在一个单独的行中.我想用该字符串将该字符串分解为数组

explode("\n", $numbers);
Run Code Online (Sandbox Code Playgroud)

要么

explode("\r\n", $numbers);
Run Code Online (Sandbox Code Playgroud)

这不起作用.请帮我.谢谢!

php textarea explode

6
推荐指数
2
解决办法
1万
查看次数

WKWebView 中的调整大小处理程序中的 window.innerWidth/Height 未更新

我有一些全屏网页内容,当窗口使用调整大小事件更改大小时,我会更新这些内容。

window.onresize = function()
{
    var width = window.innerWidth;
    var height = window.innerHeight;
    ...
}
Run Code Online (Sandbox Code Playgroud)

这在 Safari 应用程序中工作正常,但在WKWebView. 当设备在 iPhone 和 iPad 上更改屏幕方向时,它会给出错误的窗口尺寸WKWebView

特别是对于 iPad,我在导航控制器中显示 Web 视图。当我切换到纵向模式时,我得到的是 (768x768) 尺寸,而不是 (768x960),这是正确的尺寸。

这个问题有解决方法吗?

safari ios wkwebview

5
推荐指数
1
解决办法
900
查看次数

在beforeRouteEnter内访问应用程序

当组件准备由 vue 路由器呈现时,我想在应用程序根目录中显示一些加载动画。

已经找到这个问题,建议使用导航守卫,还有一个问题,其中接受的答案显示了如何使用beforeEach守卫在 中设置变量app,显示加载动画。

问题是这在深度链接到某个路由时不起作用(初始 url 包括路由路径,例如“someurl#/foo”)。在beforeEach后卫根本不会被调用即可。

所以我切换到加载组件的beforeRouteEnter保护,这也允许我只显示某些组件的加载动画:

应用程序:

var app = new Vue({
  el: '#app',
  data: { loading: false }
  router: router
});
Run Code Online (Sandbox Code Playgroud)

成分:

var Foo = { 
  template: '<div>bar</div>',
  beforeRouteEnter: function(to, from, next) {
    app.loading = true; // 'app' unavailable when deep-linking
    // do some loading here before calling next()...
    next();
  }
}
Run Code Online (Sandbox Code Playgroud)

但是后来我发现当深度链接到组件时,app在 中不可用beforeRouteEnter,因为它在初始化过程中很早就被调用了。

我不想在应用程序数据声明中设置loading …

vue.js vue-router

5
推荐指数
2
解决办法
8464
查看次数